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

แบบสอบถาม MongoDB เพื่อลบองค์ประกอบออกจากอาร์เรย์เป็นคุณสมบัติย่อย


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

> db.demo388.insertOne(
...    {
...       _id: '101',
...       userDetails: {
...          isMarried: false,
...          userInfo: [
...             {
...                Name:"Chris",
...                Age:21
...
...             }
...          ]
...       }
...    }
... );
{ "acknowledged" : true, "insertedId" : "101" }

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

> db.demo388.find();

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

{ "_id" : "101", "userDetails" : { "isMarried" : false, "userInfo" : [ { "Name" : "Chris", "Age" : 21 } ] } }

ต่อไปนี้เป็นแบบสอบถามเพื่อลบองค์ประกอบจากอาร์เรย์เป็นคุณสมบัติย่อย -

> db.demo388.update(
...    { "_id": "101" },
...    { "$pull": { "userDetails.userInfo": { "Name":"Chris" } }
... })
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo388.find();

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

{ "_id" : "101", "userDetails" : { "isMarried" : false, "userInfo" : [ ] } }