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
mongosh
method. This is not the documentation for database commands or language-specific drivers, such as Node.js.For the database command, see the
planCacheClear
command.For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.
For the legacy
mongo
shell documentation, refer to the documentation for the corresponding MongoDB Server release:The method is only available from the该方法仅在特定集合的计划缓存对象中可用;即。plan cache object
of a specific collection; i.e.db.collection.getPlanCache().clearPlansByQuery( <query>, <projection>, <sort> )
ThePlanCache.clearPlansByQuery()
method accepts the following parameters:PlanCache.clearPlansByQuery()
方法接受以下参数:Parameter参数Type类型Description描述query
document 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.查询形状的查询谓词。只有谓词的结构,包括字段名称,对形状有意义;查询谓词中的值无关紧要。projection
document Optional.可选的。The projection associated with the query shape. Required if specifying the与查询形状关联的投影。如果指定sort
parameter.sort
参数,则为必需项。sort
document 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()