Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

ใช้ 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 }
   ] 
}