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

เพิ่มค่าคุณสมบัติขององค์ประกอบในวัตถุอาร์เรย์ด้วย MongoDB


ในการเพิ่มค่าคุณสมบัติขององค์ประกอบ ให้ใช้ update() ใน MongoDB และในนั้น ให้ทำงานกับ #$inc เพื่อเพิ่ม ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.demo97.insertOne({
...    "Details": [
...       {
...          "Name": "Chris",
...          "Marks": 45
...       },
...       {
...          "Name": "Bob",
...          "Marks": 88
...       }y
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2d6d24b8903cdd865577af")
}

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

> db.demo97.find();

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

{ "_id" : ObjectId("5e2d6d24b8903cdd865577af"), "Details" : [ { "Name" : "Chris", "Marks" : 45 }, { "Name" : "Bob", "Marks" : 88 } ] }

ต่อไปนี้เป็นแบบสอบถามเพื่อเพิ่มค่าคุณสมบัติขององค์ประกอบในวัตถุอาร์เรย์ -

> db.demo97.update(
...    { "Details.Name": "Bob"},
...    { $inc: { "Details.$.Marks" : 10 } }
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo97.find();

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

{ "_id" : ObjectId("5e2d6d24b8903cdd865577af"), "Details" : [ { "Name" : "Chris", "Marks" : 45 }, { "Name" : "Bob", "Marks" : 98 } ] }