【发布时间】:2014-07-16 14:51:48
【问题描述】:
我有一个集合(510 个文档),其中 _id 是数字:
{ "_id" : "1",
"name" : "eric" }
{ "_id" : "2",
"name" : "tom" }
....
我想将它们的值更改为 ObjectId(),如下所示:
{ "_id" : ObjectId("53849e258bf3be07804a00d0"),
"name" : "eric" }
{ "_id" : ObjectId("53849e388bf3be07804a00d1"),
"name" : "tom" }
....
所以我尝试了:
db.contacts.find().forEach(function(doc) {
db.contacts.update(
{ "_id": doc._id },
{ "$set": { "_id": ObjectId()} }
);
})
但它不起作用,我得到了类似的结果:
Mod on _id not allowed
谢谢。
【问题讨论】:
标签: mongodb