您好,欢迎访问一九零五行业门户网

如何更新 MongoDB 文档的 _id?

您无法更新它,但可以保存新 id 并删除旧 id。请按照一些步骤更新 mongodb 的 _id。步骤如下:
第1步:第一步,需要将objectid存储到变量中。
anyvariablename=db.yourcollectionname.findone({_id:yourobjectidvalue)});
第2步:在第二步中,您需要设置一个新的id。
yourdeclaredvariablename._id=yournewobjectidvalue;
第3步:在第三步中,您需要在文档中插入新的id。
db.yourcollectionname.insert(yourdeclaredvariablename);
第4步:在第四步中,您需要删除旧的id。
db.yourcollectionname.remove({_id:youroldobjectidvalue)});
为了理解上述步骤,让我们用文档创建一个集合。使用文档创建集合的查询如下:
> db.updateiddemo.insertone({"studentname":"robert"});{ "acknowledged" : true, "insertedid" : objectid("5c6ebfec6fd07954a4890683")}> db.updateiddemo.insertone({"studentname":"chris"});{ "acknowledged" : true, "insertedid" : objectid("5c6ebff66fd07954a4890684")}> db.updateiddemo.insertone({"studentname":"maxwell"});{ "acknowledged" : true, "insertedid" : objectid("5c6ebfff6fd07954a4890685")}
借助 find() 方法显示集合中的所有文档。查询如下:
> db.updateiddemo.find().pretty();

以下是输出:
{ "_id" : objectid("5c6ebfec6fd07954a4890683"), "studentname" : "robert" }{ "_id" : objectid("5c6ebff66fd07954a4890684"), "studentname" : "chris" }{ "_id" : objectid("5c6ebfff6fd07954a4890685"), "studentname" : "maxwell" }
以下是更新 mongodb 文档 _id 的查询:
step1:> myid=db.updateiddemo.findone({_id:objectid("5c6ebfec6fd07954a4890683")});{ "_id" : objectid("5c6ebfec6fd07954a4890683"), "studentname" : "robert" }step 2:> myid._id=objectid("5c6ebfec6fd07954a4890689");objectid("5c6ebfec6fd07954a4890689")step 3:> db.updateiddemo.insert(myid);writeresult({ "ninserted" : 1 })step 4:> db.updateiddemo.remove({_id:objectid("5c6ebfec6fd07954a4890683")});writeresult({ "nremoved" : 1 })
让我们检查 _id 是否已更新。借助 find() 方法显示集合中的所有文档:
> db.updateiddemo.find().pretty();

以下是输出:
{ "_id" : objectid("5c6ebff66fd07954a4890684"), "studentname" : "chris" }{ "_id" : objectid("5c6ebfff6fd07954a4890685"), "studentname" : "maxwell" }{ "_id" : objectid("5c6ebfec6fd07954a4890689"), "studentname" : "robert" }
查看示例输出,“studentname”:“robert” 的 _id 已更改。
以上就是如何更新 mongodb 文档的 _id?的详细内容。
其它类似信息

推荐信息