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

planCacheClearFilters

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 必需的访问权限
  • 示例
planCacheClearFilters

删除集合上的索引筛选器。 虽然索引筛选器仅在服务器进程期间存在,并且在关闭后不会持续存在,但您也可以使用 planCacheClearFilters命令清除现有的索引筛选器。

指定查询结构以删除特定索引筛选器。 省略查询结构可清除collection上的所有索引筛选器。

此命令可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

重要

M 0 、M 2和 M 5集群不支持此命令。 有关更多信息,请参阅不支持的命令。

该命令具有以下语法:

db.runCommand(
{
planCacheClearFilters: <collection>,
query: <query pattern>,
sort: <sort specification>,
projection: <projection specification>,
comment: <any>
}
)

planCacheClearFilters命令具有以下字段:

字段
类型
说明
planCacheClearFilters
字符串
集合的名称。
query
文档

可选。 与要删除的筛选器关联的查询谓词。 如果省略,则清除集合中的所有筛选器。

query谓词中的值对于确定查询结构无关紧要,因此查询中使用的值无需与使用planCacheListFilters显示的值匹配。

sort
文档
可选。 与要删除的筛选器关联的排序(如果有)。
projection
文档
可选。 与要删除的过滤关联的投影(如果有)。
comment
any

可选。用户提供的待附加到该命令的注释。设置后,该注释将与该命令的记录一起出现在以下位置:

注释可以是任何有效的 BSON 类型(字符串、整型、对象、数组等)。

用户必须具有包括planCacheIndexFilter操作的访问权限。

orders集合包含以下两个筛选器:

{
"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 } ]
}

以下命令仅删除第二个索引筛选器:

db.runCommand(
{
planCacheClearFilters: "orders",
query: { "status" : "A" }
}
)

由于query谓词中的值对于确定查询结构无关紧要,因此以下命令也会删除第二个索引筛选器:

db.runCommand(
{
planCacheClearFilters: "orders",
query: { "status" : "P" }
}
)

以下示例清除orderscollection上的所有索引筛选器:

db.runCommand(
{
planCacheClearFilters: "orders"
}
)

提示

另请参阅:

后退

planCacheClear