如何在 MongoDB 中更新子物件?


要更新子物件,請使用 $set 運算子。讓我們先使用文件建立一個集合 -

>db.updateChildObjectsDemo.insertOne({"StudentName":"Chris","StudentOtherDetails":{"StudentSubject":"MongoDB","StudentCountryName":"AUS"}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ce964e078f00858fb12e91f")
}

以下是對文件中所有文件的查詢,由 find() 方法實現 -

> db.updateChildObjectsDemo.find().pretty();

以下輸出應得到展現 -

{
   "_id" : ObjectId("5ce964e078f00858fb12e91f"),
   "StudentName" : "Chris",
   "StudentOtherDetails" : {
      "StudentSubject" : "MongoDB",
      "StudentCountryName" : "AUS"
   }
}

以下是對 MongoDB 中子物件更新的查詢 -

> db.updateChildObjectsDemo.update({"StudentName" : "Chris"},{$set:{"StudentOtherDetails.StudentCountryName":"UK"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

讓我們再次檢視文件 -

> db.updateChildObjectsDemo.find().pretty();

以下輸出應得到展現 -

{
   "_id" : ObjectId("5ce964e078f00858fb12e91f"),
   "StudentName" : "Chris",
   "StudentOtherDetails" : {
      "StudentSubject" : "MongoDB",
      "StudentCountryName" : "UK"
   }
}

更新於: 2019 年 7 月 30 日

749 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.