如何實現嵌入式文件陣列中的 MongoDB $push?


讓我們建立一個帶文件的集合 −

>db.demo288.insertOne({"Name":"Chris",details:[{"CountryName":"US",Marks:78},{"CountryName":"UK",Marks:68}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4c0393f49383b52759cbbe")
}

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

> db.demo288.find();

這將產生以下輸出 −

{ "_id" : ObjectId("5e4c0393f49383b52759cbbe"), "Name" : "Chris", "details" : [ { "CountryName" : "US", "Marks" : 78 }, { "CountryName" : "UK", "Marks" : 68 } ] }

以下是實現嵌入式文件陣列中 $push 的查詢 −

> db.demo288.update( {Name: "Chris"}, {$push:{ "details":{"CountryName" : "AUS", "Marks" : 98} }}, {upsert:true});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo288.find();

這將產生以下輸出 −

{
   "_id" : ObjectId("5e4c0393f49383b52759cbbe"), "Name" : "Chris", "details" : [
      { "CountryName" : "US", "Marks" : 78 }, { "CountryName" : "UK", "Marks" : 68 },
      { "CountryName" : "AUS", "Marks" : 98 }
   ] 
}

更新於: 31-3-2020

243 已檢視

開啟您的職業生涯

完成課程獲得認證

開始使用
廣告
© . All rights reserved.