PlanCache.clearPlansByQuery()
On this page本页内容
Definition定义
PlanCache.clearPlansByQuery( <query>, <projection>, <sort> )-
Clears the cached query plans for the specified query shape.清除指定查询形状的缓存查询计划。Importantmongosh Method
This page documents a
mongoshmethod. This is not the documentation for database commands or language-specific drivers, such as Node.js.For the database command, see the
planCacheClearcommand.For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.
For the legacy
mongoshell documentation, refer to the documentation for the corresponding MongoDB Server release:The method is only available from the该方法仅在特定集合的计划缓存对象中可用;即。plan cache objectof a specific collection; i.e.db.collection.getPlanCache().clearPlansByQuery( <query>, <projection>, <sort> )
ThePlanCache.clearPlansByQuery()method accepts the following parameters:PlanCache.clearPlansByQuery()方法接受以下参数:Parameter参数Type类型Description描述querydocument The query predicate of the query shape. Only the structure of the predicate, including the field names, are significant to the shape; the values in the query predicate are insignificant.查询形状的查询谓词。只有谓词的结构,包括字段名称,对形状有意义;查询谓词中的值无关紧要。projectiondocument Optional.可选的。The projection associated with the query shape. Required if specifying the与查询形状关联的投影。如果指定sortparameter.sort参数,则为必需项。sortdocument Optional.可选的。The sort associated with the query shape.与查询形状关联的排序。To see the query shapes for which cached query plans exist, see Examples.若要查看存在缓存查询计划的查询形状,请参阅示例。
Required Access所需访问权限
On systems running with 在使用authorization, a user must have access that includes the planCacheWrite action.authorization运行的系统上,用户必须具有包括planCacheWrite操作的访问权限。
Example实例
If a collection 如果集合orders has the following query shape:orders具有以下查询形状:
{
"query" : { "qty" : { "$gt" : 10 } },
"sort" : { "ord_date" : 1 },
"projection" : { },
"queryHash" : "9AAD95BE" // Available starting in MongoDB 4.2
}
The following operation removes the query plan cached for the shape:以下操作将删除为形状缓存的查询计划:
db.orders.getPlanCache().clearPlansByQuery(
{ "qty" : { "$gt" : 10 } },
{ },
{ "ord_date" : 1 }
)
See also: 另请参阅:
db.collection.getPlanCache()PlanCache.listQueryShapes()PlanCache.clear()