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

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


หากต้องการเพิ่มค่าของวัตถุอาร์เรย์ ให้ใช้ $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 } ]}