首頁 > 資料庫 > MongoDB > 如何更新 MongoDB 文件的 _id?

如何更新 MongoDB 文件的 _id?

WBOY
發布: 2023-08-31 22:29:02
轉載
1577 人瀏覽過

如何更新 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?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板