复制mongo中相同集合中的文档

时间:2017-09-14 17:59:06

标签: mongodb

有没有办法将集合中的记录复制到同一个集合中?我正在尝试生成大量记录,因此需要这样做。

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

快速但可能不是最有效的方法可能是:

  • 获取该集合的所有文件
  • 每个人都用新值重写ObjectId
  • 将修改后的文档插入集合

使用mongo shell,您可以使用 forEach 执行此操作,如下所示:

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

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