ใช้ตัวดำเนินการ $pull เพื่อดึงองค์ประกอบอาร์เรย์จากคอลเลกชัน ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.pullElementFromAnArrayDemo.insertOne( ... { ... "StudentScores":[89,56,78,90] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5cd0104a588d4a6447b2e063") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.pullElementFromAnArrayDemo.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5cd0104a588d4a6447b2e063"), "StudentScores" : [ 89, 56, 78, 90 ] }
ต่อไปนี้เป็นแบบสอบถามเพื่อดึงองค์ประกอบอาร์เรย์จากคอลเลกชัน ที่นี่ เราจะลบองค์ประกอบ 78 -
> db.pullElementFromAnArrayDemo.update({},{ $pull: { StudentScores: 78 } }); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ให้เราตรวจสอบเอกสารอีกครั้ง -
> db.pullElementFromAnArrayDemo.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5cd0104a588d4a6447b2e063"), "StudentScores" : [ 89, 56, 90 ] }