ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> 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 } ] }