如何在Mongo中复制文档(有些更改)?

时间:2013-09-11 20:11:13

标签: mongodb

我有一些文件

{
  "_id": ObjectId("1"),
  "name": "dean",
  "version": 1
}
{
  "_id": ObjectId("2"),
  "name": "john",
  "version": 1
}

我想复制这些文档的内容,在副本中将version设置为2

{
  "_id": ObjectId("1"),
  "name": "dean",
  "version": 1
}
{
  "_id": ObjectId("2"),
  "name": "john",
  "version": 1
}
{
  "_id": ObjectId("3"),
  "name": "dean",
  "version": 2
}
{
  "_id": ObjectId("4"),
  "name": "john",
  "version": 2
}

然后,我将对版本2进行任何更改。

我如何制作这些副本?

1 个答案:

答案 0 :(得分:0)

好的,我想出了办法:

db.collection.find({version: 1}).forEach(function(doc) {
  doc._id = ObjectId();
  doc.version = 2;  
  db.collection.insert(doc);
});