7

MongoDB コレクションの再インデックス化への参照は通常、コレクションごとです。

db.mycollection.reIndex();

多数のコレクションを一度に再インデックスしたいと考えています。一人一人は少し疲れるかもしれません。

reIndex();すべてのコレクションで発行する適切なコマンドは何ですか?

4

2 に答える 2

22

セルジオの答えのわずかに小さいバージョン:

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

最初にコレクションへの参照を取得する必要はありません。

于 2012-10-18T11:38:00.133 に答える
19

これはどうですか?データベースに対しては 1 つずつですが、コマンドは 1 つだけです。

db.getCollectionNames().forEach(function(coll_name) {
  var coll = db.getCollection(coll_name);
  coll.reIndex();
});
于 2012-08-29T22:13:45.613 に答える