On this page
planCacheClearFilters
On this page
Definition
planCacheClearFilters-
New in version 2.6.
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
planCacheClearFilterscommand.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> } )The
planCacheClearFilterscommand has the following field:Field Type Description planCacheClearFiltersstring The name of the collection. querydocument Optional. The query predicate associated with the filter to remove. If omitted, clears all filters from the collection.
The values in the
querypredicate are insignificant in determining the query shape, so the values used in the query need not match the values shown usingplanCacheListFilters.sortdocument Optional. The sort associated with the filter to remove, if any. projectiondocument Optional. The projection associated with the filter to remove, if any.
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" }
}
)