MongoDB教程
MongoDB运算符
MongoDB命令
MongoDB数据库
MongoDB Shell
MongoDB云和工具

MongoDB planCacheClear

planCacheClear命令用于删除集合的缓存查询计划。它声明查询形状以删除该形状的缓存查询计划。
语法:
   db.runCommand(
   {
      planCacheClear: <collection name>,
      query: <query here>,
      sort: <sorting algo>,
      projection: <projection>
   }
)
命令字段
字段 类型 说明
query document 它包含形状查询的前缀。
projection document 它包含与查询形状相关的投影详细信息。
sort document 它包含与查询形状相关的排序详细信息。
示例:
我们具有以下查询形状:
{
  "query" : { "qty" : { "$gt" : 10 } },
  "sort" : { "ord_date" : 1 },
  "projection" : { },
  "queryHash" : "9AAD95BE" 
}
以下代码清除为该形状缓存的查询计划:
db.runCommand(
   {
      planCacheClear: "orders",
      query: { "qty" : { "$gt" : 10 } },
      sort: { "ord_date" : 1 }
   }
)

MongoDB planCacheClearFilters命令

planCacheClearFilters命令删除集合上的索引过滤器。我们还可以使用此命令清除现有的索引过滤器,而索引过滤器仅在服务器进程期间存在,并且在关闭后不会持久。
语法:
db.runCommand(
   {
      planCacheClearFilters: <collection>,
      query: <query pattern>,
      sort: <sort specification>,
      projection: <projection specification>
   }
)
命令字段:
字段 类型 说明
planCache
ClearFilters
string 它声明了集合的名称。
query document 它包含与要删除的过滤器关联的查询谓词。
sort document 它包含与要删除的过滤器相关的排序标准。
projection document 它包含与要删除的过滤器关联的投影详细信息。
示例:
books集合包含以下两个过滤器:
{
  "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" }
   }
)

MongoDB planCacheListFilters命令

palncacheListFilters命令列出与集合的查询形状相关的索引过滤器。
语法:
db.runCommand( { planCacheListFilters: <collection> } )
命令字段:
字段 类型 说明
planCacheListFilters string 它声明集合的名称
示例:
{
   "filters" : [
      {
         "query" : <query>
         "sort" : <sort>,
         "projection" : <projection>,
         "indexes" : [
            <index1>,
            ...
         ]
      },
      ...
   ],
   "ok" : 1
}

MongoDB palnCacheSetFilter命令

此命令为集合设置索引过滤器。它是查询形状已经存在的索引过滤器。 planCacheSetFilter会覆盖以前的索引过滤器。
语法:
db.runCommand(
   {
      planCacheSetFilter: <collection>,
      query: <query>,
      sort: <sort>,
      projection: <projection>,
      indexes: [ <index1>, <index2>, ...]
   }
)

命令过滤器

字段 类型 说明
planCacheSetFilter string 此字段声明了集合的名称。
query document 它包含与索引过滤器关联的查询谓词。
sort document 它包含与过滤器关联的排序详细信息。
projection document 它包含与过滤器关联的投影。
indexes1 array 它包含指定查询形状的索引数组。
示例:
该示例在books集合上创建索引过滤器,以便对于仅包含购买字段上的等式匹配而没有任何匹配的查询投影和排序。
db.runCommand(
   {
      planCacheSetFilter: "books",
      query: { purchase: "MongoDB" },
      indexes: [
         { stud_id: 123, purchase: 2 },
         { purchage: 5, order_date: 01102020 }
      ]
   }
)

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4