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

时间:2012-08-29 22:10:45

标签: mongodb indexing

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

db.mycollection.reIndex();

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

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

2 个答案:

答案 0 :(得分:20)

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

db.getCollectionNames().forEach(function(collection){db[collection].reIndex()});

首先无需获得对该集合的引用。

答案 1 :(得分:16)

这个怎么样?它仍然是数据库的一对一,但只有一个命令。

db.getCollectionNames().forEach(function(coll_name) {
  var coll = db.getCollection(coll_name);
  coll.reIndex();
});