2017-09-14 36 views

回答

2

如果你只是想复制简单的方法是像下面

db.col1.find({},{_id:0}).forEach(function(doc){db.col1.save(doc)}); 
0

快速,但也许不是最有效的方式做到这一点可能是:

  • 获取集合中的所有文件
  • 对于每一个用新值重写ObjectId
  • 在集合中插入修改过的文档

随着蒙戈外壳,你能做到这一点使用的forEach如下:

db.getCollection('YOUR_COLLECTION').find({}).forEach(
    function(doc){ 
     doc._id = new ObjectId(); 
     db.getCollection('YOUR_COLLECTION').insert(doc); 
    } 
) 

这样,每次运行此查询时,集合中的所有文件都复制。

相关问题