planCacheClearFilters
On this page
Definition
planCacheClearFilters
Removes index filters on a collection. Although index filters only exist for the duration of the server process and do not persist after shutdown, you can also clear existing index filters with the
planCacheClearFilters
command.Specify the query shape to remove a specific index filter. Omit the query shape to clear all index filters on a collection.
The command has the following syntax:
db.runCommand( { planCacheClearFilters: <collection>, query: <query pattern>, sort: <sort specification>, projection: <projection specification>, comment: <any> } ) The
planCacheClearFilters
command has the following field:FieldTypeDescriptionplanCacheClearFilters
stringThe name of the collection.query
documentOptional. The query predicate associated with the filter to remove. If omitted, clears all filters from the collection.
The values in the
query
predicate are insignificant in determining the query shape, so the values used in the query need not match the values shown usingplanCacheListFilters
.sort
documentOptional. The sort associated with the filter to remove, if any.projection
documentOptional. The projection associated with the filter to remove, if any.comment
anyOptional. A user-provided comment to attach to this command. Once set, this comment appears alongside records of this command in the following locations:
mongod log messages, in the
attr.command.cursor.comment
field.Database profiler output, in the
command.comment
field.currentOp
output, in thecommand.comment
field.
A comment can be any valid BSON type (string, integer, object, array, etc).
New in version 4.4.
Required Access
A user must have access that includes the
planCacheIndexFilter
action.
Examples
Clear Specific Index Filter on Collection
The orders
collection contains the following two filters:
{ "query" : { "status" : "A" }, "sort" : { "ord_date" : -1 }, "projection" : { }, "indexes" : [ { "status" : 1, "cust_id" : 1 } ] } { "query" : { "status" : "A" }, "sort" : { }, "projection" : { }, "indexes" : [ { "status" : 1, "cust_id" : 1 } ] }
The following command removes the second index filter only:
db.runCommand( { planCacheClearFilters: "orders", query: { "status" : "A" } } )
Because the values in the query
predicate are insignificant in
determining the query shape, the following command would also
remove the second index filter:
db.runCommand( { planCacheClearFilters: "orders", query: { "status" : "P" } } )
Clear all Index Filters on a Collection
The following example clears all index filters on the orders
collection:
db.runCommand( { planCacheClearFilters: "orders" } )