更新 MongoDB 中的 _id 字段


若要更新,只需保存新 ID 并使用 remove() 移除旧的 ID 即可。让我们先创建一个包含文档的集合 -

> db.updatingDemo.insertOne({"StudentName":"Robert"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e04dae5150ee0e76c06a04b")
}
> db.updatingDemo.insertOne({"StudentName":"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e04dae7150ee0e76c06a04c")
}

以下是使用 find() 方法显示集合中所有文档的查询 -

> db.updatingDemo.find();

将生成以下输出 -

{ "_id" : ObjectId("5e04dae5150ee0e76c06a04b"), "StudentName" : "Robert" }
{ "_id" : ObjectId("5e04dae7150ee0e76c06a04c"), "StudentName" : "Bob" }

以下是更新 MongoDB 中 _id 的查询 -

> myDocument = db.updatingDemo.findOne({"StudentName":"Bob"});
{ "_id" : ObjectId("5e04dae7150ee0e76c06a04c"), "StudentName" : "Bob" }
> myDocument._id = 1001;
1001
> db.updatingDemo.insert(myDocument);
WriteResult({ "nInserted" : 1 })
> db.updatingDemo.remove({_id:ObjectId("5e04dae7150ee0e76c06a04c")});
WriteResult({ "nRemoved" : 1 })

以下是使用 find() 方法显示集合中所有文档的查询 -

> db.updatingDemo.find();

将生成以下输出 -

{ "_id" : ObjectId("5e04dae5150ee0e76c06a04b"), "StudentName" : "Robert" }
{ "_id" : 1001, "StudentName" : "Bob" }

更新于: 2020 年 3 月 27 日

412 次浏览

启动您的 职业生涯

完成课程,获得认证

立即开始
广告