สำหรับสิ่งนี้ ให้ใช้เมธอด 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
}
]
}