สำหรับสิ่งนี้ ให้ใช้เมธอด UPDATE() และกำหนดเงื่อนไขทั้งสองไว้ภายในนั้น ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo605.insertOne( ... { ... _id:1, ... "Information" : [ ... { ... "id" : "Product-1", ... "Quantity" : 50, ... }, ... { ... "id" : "Product-2", ... "Quantity" : 100, ... }, ... ] ... } ... ); { "acknowledged" : true, "insertedId" : 1 } > > > db.demo605.insertOne( ... { ... _id:2, ... "Information" : [ ... { ... "id" : "Product-1", ... "Quantity" : 30, ... }, ... { ... "id" : "Product-2", ... "Quantity" : 40, ... }, ... ] ... } ... ); { "acknowledged" : true, "insertedId" : 2 }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo605.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ &mnus;
{ "_id" : 1, "Information" : [ { "id" : "Product-1", "Quantity" : 50 }, { "id" : "Product-2", "Quantity" : 100 } ] } { "_id" : 2, "Information" : [ { "id" : "Product-1", "Quantity" : 30 }, { "id" : "Product-2", "Quantity" : 40 } ] }
ต่อไปนี้เป็นแบบสอบถามเพื่อปรับปรุงปริมาณใน MongoDB ตามเงื่อนไขสองประการ -
>db.demo605.update({_id:1,"Information.id":"Product1"}, {$set:{"Information.$.Quantity":1000}} ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo605.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : 1, "Information" : [ { "id" : "Product-1", "Quantity" : 1000 }, { "id" : "Product-2", "Quantity" : 100 } ] } { "_id" : 2, "Information" : [ { "id" : "Product-1", "Quantity" : 30 }, { "id" : "Product-2", "Quantity" : 40 } ] }