在 MongoDB 中更新某個值,而不同的鍵等於某個值?


讓我們使用文件建立一個集合 −

> db.demo196.insertOne(
...   {
...
...      "Id" : "101",
...      "details" : [
...         {
...            "FirstName" : "Chris",
...            "LastName" : "Brown",
...            "Score" : 45
...         },
...         {
...            "FirstName" : "David",
...            "LastName" : "Miller",
...            "Score" : 87
...         },
...         {
...            "FirstName" : "John",
...            "LastName" : "Doe",
...            "Score" : 56
...         }
...      ]
...   }
...);
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3af6b103d395bdc21346d7")
}

使用 find() 方法從集合中顯示所有文件 −

>  db.demo196.find();

這將產生以下輸出 −

{
   "_id" : ObjectId("5e3af6b103d395bdc21346d7"), "Id" : "101", "details" : [
      { "FirstName" : "Chris", "LastName" : "Brown", "Score" : 45 },
      { "FirstName" : "David", "LastName" : "Miller", "Score" : 87 },
      { "FirstName" : "John", "LastName" : "Doe", "Score" : 56 }
   ]
}

以下是對不同鍵等於某個值時更新鍵值內容的查詢 −

> db.demo196.update({"details":{"$elemMatch":{"FirstName" : "David", "LastName" : "Miller"}}},
...                      {"$set":{"details.$.Score":98}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

使用 find() 方法從集合中顯示所有文件 −

> db.demo196.find();

這將產生以下輸出 −

{
   "_id" : ObjectId("5e3af6b103d395bdc21346d7"), "Id" : "101", "details" : [
      { "FirstName" : "Chris", "LastName" : "Brown", "Score" : 45 },
      { "FirstName" : "David", "LastName" : "Miller", "Score" : 98 },
      { "FirstName" : "John", "LastName" : "Doe", "Score" : 56 }
   ]
}

更新於: 27-Mar-2020

460 次瀏覽

開啟你 職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.