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

อัปเดตองค์ประกอบภายในอาร์เรย์ใน MongoDB หรือไม่


หากต้องการอัปเดตองค์ประกอบภายในอาร์เรย์ ให้ใช้ $set ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> 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 } ]}