Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于重新索引所有mongodb集合的命令_Mongodb_Indexing - Fatal编程技术网

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

用于重新索引所有mongodb集合的命令,mongodb,indexing,Mongodb,Indexing,对MongoDB集合重新编制索引的引用通常针对每个集合: db.mycollection.reIndex(); 我想一次重新编制一些集合的索引。一个接一个可能会有点累 发出reIndex()的适当命令是什么跨所有集合 这个怎么样?对于数据库来说仍然是一个接一个,但是对于您来说只有一个命令 db.getCollectionNames().forEach(function(coll_name) { var coll = db.getCollection(coll_name); coll.r

对MongoDB集合重新编制索引的引用通常针对每个集合:

db.mycollection.reIndex();
我想一次重新编制一些集合的索引。一个接一个可能会有点累


发出
reIndex()的适当命令是什么跨所有集合

这个怎么样?对于数据库来说仍然是一个接一个,但是对于您来说只有一个命令

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

塞尔吉奥回答的略小版本:

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

不需要首先获取对集合的引用。

我很好奇,您需要重新索引集合的用例是什么?可能他正在迁移到新的索引格式(它在很久以前被更改过)。