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

ลบค่าออกจากเมทริกซ์เช่นเอกสารใน MongoDB


หากต้องการลบค่าออกจากเมทริกซ์ ให้ใช้ $pull ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo632.insertOne(
...    {
...       "arrayMatrix": [
...          [10,20],
...          [10,20],
...          [10,20],
...          [10,20],
...          [10,20],
...          [10,20]
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9b27b46c954c74be91e6c0")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo632.find().pretty();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{
   "_id" : ObjectId("5e9b27b46c954c74be91e6c0"),
   "arrayMatrix" : [
      [
         10,
         20
      ],
      [
         10,
         20
      ],
      [
         10,
         20
      ],
      [
         10,
         20
      ],
      [
         10,
         20
      ],
      [
         10,
         20
      ]
   ]
}

ต่อไปนี้เป็นแบบสอบถามเพื่อลบค่าจากเมทริกซ์เช่นเอกสารใน MongoDB -

> db.demo632.update(
...    {},
...    {
...       "$pull": {
...          "arrayMatrix.0": 20,
...          "arrayMatrix.1": 20,
...          "arrayMatrix.2": 20,
...          "arrayMatrix.3": 20,
...          "arrayMatrix.4": 20,
...          "arrayMatrix.5": 20
...       }
...    }
... )
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo632.find().pretty();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{
   "_id" : ObjectId("5e9b27b46c954c74be91e6c0"),
   "arrayMatrix" : [
      [
         10
      ],
      [
         10
      ],
      [
         10
      ],
      [
         10
      ],
      [
         10
      ],
      [
         10
      ]
   ]
}