หากต้องการลบเอกสารทั้งหมดออกจากคอลเล็กชัน ยกเว้นเอกสารเดียวใน MongoDB ให้ใช้ remove() ตามเงื่อนไขบางประการ ให้เราสร้างคอลเลกชันที่มีเอกสาร ต่อไปนี้เป็นแบบสอบถาม
>db.removeAllDocumentsExceptOneDemo.insertOne({"StudentName":"Larry","StudentAge":21}); { "acknowledged" : true, "insertedId" : ObjectId("5c9c9de42d66697741252478") } >db.removeAllDocumentsExceptOneDemo.insertOne({"StudentName":"Mike","StudentAge":21,"StudentCountryName":"US"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9c9dea2d66697741252479") } >db.removeAllDocumentsExceptOneDemo.insertOne({"StudentName":"Chris","StudentAge":24,"StudentCountryName":"AUS"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9c9def2d6669774125247a") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()
> db.removeAllDocumentsExceptOneDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{ "_id" : ObjectId("5c9c9de42d66697741252478"), "StudentName" : "Larry", "StudentAge" : 21 } { "_id" : ObjectId("5c9c9dea2d66697741252479"), "StudentName" : "Mike", "StudentAge" : 21, "StudentCountryName" : "US" } { "_id" : ObjectId("5c9c9def2d6669774125247a"), "StudentName" : "Chris", "StudentAge" : 24, "StudentCountryName" : "AUS" }
ต่อไปนี้เป็นข้อความค้นหาเพื่อลบเอกสารทั้งหมดออกจากคอลเล็กชัน ยกเว้นเอกสารเดียว เช่น StudentAge 24
> db.removeAllDocumentsExceptOneDemo.remove({ StudentAge: { $ne: 24 } } ); WriteResult({ "nRemoved" : 2 })
ให้เราตรวจสอบเอกสารทั้งหมดตอนนี้ ต่อไปนี้เป็นแบบสอบถาม
> db.removeAllDocumentsExceptOneDemo.find().pretty();
ต่อไปนี้เป็นผลลัพธ์ที่แสดงเพียงเอกสารเดียว
{ "_id" : ObjectId("5c9c9def2d6669774125247a"), "StudentName" : "Chris", "StudentAge" : 24, "StudentCountryName" : "AUS" }