Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

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 }
)

提示

另请参阅:

后退

PlanCache.clear