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