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

กำลังอัปเดตเอกสารที่ซ้อนกันใน MongoDB


ในการอัปเดตเอกสารที่ซ้อนกัน ให้ใช้ $set ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo315.insertOne({ _id :101,... details:[... {Name:'Chris', subjects:[{id:1001, SubjectName:"MySQL"}]}... ]... }...){ "acknowledged" :true, "insertedId" :101 }

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" :101, "details" :[ { "Name" :"Chris", " subjects" :[ { "id" :1001, "SubjectName" :"MySQL" } ] } ]} 

ต่อไปนี้เป็นแบบสอบถามเพื่ออัปเดตเอกสารที่ซ้อนกันใน MongoDB -

> db.demo315.update ({_id:101}, { '$set':{"details.0.subjects.1.id" :1004} })WriteResult({ "nMatched" :1, "nUpserted" " :0, "nModified" :1 })

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" :101, "details" :[ { "Name" :"Chris", " subjects" :[ { "id" :1001, "SubjectName" :"MySQL" }, { "id" :1004 } ] } ]}