更新 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" }
廣告