用于重新索引所有mongodb集合的命令

Dan*_*May 7 indexing mongodb

重新索引MongoDB集合的参考通常是每个集合:

db.mycollection.reIndex();
Run Code Online (Sandbox Code Playgroud)

我想一次重新索引一些收藏品.一个接一个可能会有点累人.

reIndex();在所有集合中发布的适当命令是什么?

小智 21

稍微小一点的塞尔吉奥答案:

db.getCollectionNames().forEach(function(collection){db[collection].reIndex()});
Run Code Online (Sandbox Code Playgroud)

没有必要首先获得对该集合的引用.


Ser*_*sev 16

那这个呢?它仍然是数据库的一个一个,但只有一个命令.

db.getCollectionNames().forEach(function(coll_name) {
  var coll = db.getCollection(coll_name);
  coll.reIndex();
});
Run Code Online (Sandbox Code Playgroud)