หากต้องการเพิ่มค่าของวัตถุอาร์เรย์ ให้ใช้ $inc ให้เราสร้างคอลเลกชันที่มีเอกสาร -
>db.demo506.insertOne({"รายละเอียด":[{id:1,Quantity:4},{id:2,Quantity:3},{id:3,Quantity:2},{id:4 ,Qua ntity:7}]});{ "acknowledged" :true, "insertedId" :ObjectId("5e882ed6987b6e0e9d18f576")}
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo506.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :ObjectId("5e882ed6987b6e0e9d18f576"), "details" :[ { "id" :1, "Quantity" :4 }, { "id" :2, "Quantity" :3 }, { " id" :3, "Quantity" :2 }, { "id" :4, "Quantity" :7 } ]}
ต่อไปนี้เป็นแบบสอบถามเพื่อเพิ่มมูลค่าของปริมาณชื่อองค์ประกอบอาร์เรย์ด้วยวัตถุอาร์เรย์ -
<ก่อนหน้า>> db.demo506.update({"details.id":2},{$inc:{"details.$.Quantity":10}});WriteResult({ "nMatched" :1, "nUpserted" :0, "nModified" :1 })แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo506.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :ObjectId("5e882ed6987b6e0e9d18f576"), "details" :[ { "id" :1, "Quantity" :4 }, { "id" :2, "Quantity" :13 }, { " id" :3, "Quantity" :2 }, { "id" :4, "Quantity" :7 } ]}