MongoDB中每个集合的索引计数?

时间:2016-10-10 05:52:14

标签: mongodb indexing count

我想为每个集合的Count()索引,集合名称以特定名称开头。

1 个答案:

答案 0 :(得分:1)

请检查Mongo Documentation的这一部分。低于文档的一部分。

列出集合中的所有索引

要返回集合上所有索引的列表,请使用db.collection.getIndexes()方法或类似的驱动程序方法。

例如,要查看人员集合上的所有索引:

db.people.getIndexes()

列出数据库的所有索引

要列出数据库中所有集合的所有索引,可以在mongo shell中使用以下操作:

db.getCollectionNames().forEach(function(collection) {
   indexes = db[collection].getIndexes();
   print("Indexes for " + collection + ":");
   printjson(indexes);
});

要限制,你可以这样做:

db.getCollectionNames().forEach(function(collection) {
   if (collection.indexOf("%YOU SEARCH STRING HERE%") > -1){
      indexes = db[collection].getIndexes();
      print("Indexes for " + collection + ":");
      printjson(indexes);
   }
});

现在有了计数

db.getCollectionNames().forEach(function(collection) {
   if (collection.indexOf("%YOU SEARCH STRING HERE%") > -1){
      indexes = db[collection].getIndexes();
      print("Indexes for " + collection + ":");
      print(indexes.length);
   }
});

使用索引名称

db.getCollectionNames().forEach(function(collection) {
   if (collection.indexOf("valueblue") > -1){
      indexes = db[collection].getIndexes();
      print("Indexes for " + collection + ":");
      print(indexes.length);

      indexes.forEach(function(item){
        print(item.name);
      });
   }
});