PlanCache.clearPlansByQuery()
定义
PlanCache.clearPlansByQuery( <query>, <projection>, <sort> )
清除指定查询结构的缓存查询计划。
重要
mongosh 方法
本页面提供
mongosh
方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。有关数据库命令,请参阅
planCacheClear
命令。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
该方法只能从特定集合的
plan cache object
获得;即db.collection.getPlanCache().clearPlansByQuery( <query>, <projection>, <sort> ) PlanCache.clearPlansByQuery()
方法接受以下参数:Parameter类型说明query
文档查询查询结构的查询谓词。只有谓词的结构(包括字段名称)对形状重要;查询谓词中的值无关紧要。projection
文档可选。 与查询结构关联的投影。如果指定sort
参数,则为必填项。sort
文档可选。 与查询结构关联的排序。要查看存在缓存查询计划的查询结构,请参阅示例。
必需的访问权限
在使用 authorization
运行的系统中,用户必须拥有包括 planCacheWrite
操作在内的访问权限。
例子
如果集合orders
具有以下查询结构:
{ "query" : { "qty" : { "$gt" : 10 } }, "sort" : { "ord_date" : 1 }, "projection" : { }, "queryHash" : "9AAD95BE" }
以下操作会删除为该形状缓存的查询计划:
db.orders.getPlanCache().clearPlansByQuery( { "qty" : { "$gt" : 10 } }, { }, { "ord_date" : 1 } )