mongodb中的新功能,我的要求是更新整个集合的_id字段,如下所示:
orignal:_id: ObjectId("4cc45467c55f4d2d2a000002")
必填:_id: 4cc45467c55f4d2d2a000002
我想从整个集合的所有文档的末尾截断'ObjectId(“from'和'”)'。
此外,我已经看到过类似的帖子,但是我的所有手册都有数百万行/文档希望有一个功能或某些东西来做所有文档。
// store the document in a variable
doc = db.clients.findOne({_id: ObjectId("4cc45467c55f4d2d2a000002")})
// set a new _id on the document
doc._id = ObjectId("4c8a331bda76c559ef000004")
// insert the document, using the new _id
db.clients.insert(doc)
// remove the document with the old _id
db.clients.remove({_id: ObjectId("4cc45467c55f4d2d2a000002")})
由于
答案 0 :(得分:0)
MongodDB根本不允许修改_id
字段。因此,一旦您创建了文档,就无法更改_id
的值。
如果您尝试更新_id
,则会显示错误消息:Mod on _id not allowed
如果您想更改_id
的值(如您所见),则必须将文档复制到变量,更改_id
,插入新文档并删除旧的。没有其他办法。