您如何为批量更新中的每个文档创建唯一的对象 ID?
我试过了,
db.foo.update({ objectId: null }, { $set: { objectId: new ObjectId() }}, { multi: true })
Run Code Online (Sandbox Code Playgroud)
但这为每个文档提供了相同的对象 ID。
因为您要为每个文档应用一个唯一值,所以您需要迭代您的集合并一次更新一个文档。
在外壳中:
db.foo.find({ objectId: null }).forEach(function(doc) {
doc.objectId = new ObjectId();
db.foo.save(doc);
});
Run Code Online (Sandbox Code Playgroud)