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

อัปเดตปริมาณใน MongoDB ตามสองเงื่อนไขหรือไม่


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