0

我有一些文件

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

我想复制这些文件的内容,在副本中设置version2

{
  "_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 进行任何我想要的更改。

我该如何制作这些副本?

4

1 回答 1

0

好的,我想出了一个办法:

db.collection.find({version: 1}).forEach(function(doc) {
  doc._id = ObjectId();
  doc.version = 2;  
  db.collection.insert(doc);
});
于 2013-09-11T20:47:08.057 回答