如何更新 MongoDB 中陣列中的元素?


若要更新陣列中的元素,請在 MongoDB 中使用 $set。建立帶有檔案的集合 −

> db.demo494.insertOne(
... {
...
...    "CollegeDetails" : [
...       {
...          "CollegeName" : "MIT",
...          "Fees" : 80000
...       },
...       {
...          "CollegeName" : "SU",
...          "Fees" : 90000
...       }
...    ]
... }
... )
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e84a5c1b0f3fa88e22790c9")
}

藉助 find() 方法顯示集合中的所有文件 −

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

這將產生以下輸出 −

{
   "_id" : ObjectId("5e84a5c1b0f3fa88e22790c9"),
   "CollegeDetails" : [
      {
         "CollegeName" : "MIT",
         "Fees" : 80000
      },
      {
         "CollegeName" : "SU",
         "Fees" : 90000
      }
   ]
}

以下是更新 MongoDB 中陣列中元素的查詢 −

> db.demo494.update(
...
... {
...    "CollegeDetails.CollegeName": "MIT"
... },
...
... {
...    $set:
...       {
...          "CollegeDetails.$.Fees" : 100000
...       }
...    }
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

藉助 find() 方法顯示集合中的所有文件 −

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

這將產生以下輸出 −

{
   "_id" : ObjectId("5e84a5c1b0f3fa88e22790c9"),
   "CollegeDetails" : [
      {
         "CollegeName" : "MIT",
         "Fees" : 100000
      },
      {
         "CollegeName" : "SU",
         "Fees" : 90000
      }
   ]
}

更新於: 13-05-2020

超過 1 千次瀏覽

開啟職業生涯

透過完成課程獲得認證

入門
廣告
© . All rights reserved.