planCacheListFilters
定义
查询设置
从 MongoDB 8.0开始,使用查询设置而不是添加索引筛选器。 从 MongoDB 8.0开始,索引筛选器已弃用。
查询设置的功能比索引筛选器更多。 此外,索引筛选器不是持久性的,您无法轻松地为所有集群节点创建索引筛选器。 要添加查询设置并探索示例,请参阅setQuerySettings
。
兼容性
此命令可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
重要
M 0 、M 2和 M 5集群不支持此命令。 有关更多信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
该命令具有以下语法:
db.runCommand( { planCacheListFilters: <collection> } )
命令字段
该命令具有以下字段:
字段 | 类型 | 说明 |
---|---|---|
planCacheListFilters | 字符串 | 集合的名称。 |
comment | any | 可选。用户提供的待附加到该命令的注释。设置后,该注释将与该命令的记录一起出现在以下位置:
注释可以是任何有效的 BSON 类型(字符串、整型、对象、数组等)。 |
必需的访问权限
用户必须具有包括planCacheIndexFilter
操作的访问权限。
输出
planCacheListFilters
命令返回以下形式的文档:
{ "filters" : [ { "query" : <query> "sort" : <sort>, "projection" : <projection>, "collation" : <collation>, "indexes" : [ <index1>, ... ] }, ... ], "ok" : 1 }
planCacheListFilters.filters
包含索引筛选器信息的文档数组。
每个文档包含以下字段:
planCacheListFilters.filters.query
与此筛选器关联的查询谓词。 尽管
query
显示了用于创建索引筛选器的特定值,但谓词中的值无关紧要。即查询谓词涵盖仅值不同的类似查询。例如,
{ "type": "electronics", "status" : "A" }
的query
谓词涵盖以下查询谓词:{ type: "food", status: "A" } { type: "utensil", status: "D" }
planCacheListFilters.filters.collation
与此筛选器关联的排序规则。 可以是空文档。
planCacheListFilters.filters.indexes
计划缓存查询结构的索引大量。
计划缓存查询结构是这些字段的组合:
为了选择最佳查询计划,查询优化器会对
indexes
和集合扫描进行评估。