หากต้องการลบเอกสารโดยใช้ _id ใน MongoDB ให้ใช้ไวยากรณ์ต่อไปนี้
db.yourCollectionName.remove({“_id”:ObjectId(“yourId”});
ให้เราใช้แบบสอบถามต่อไปนี้เพื่อสร้างคอลเลกชันที่มีเอกสาร
>db.removeDocumentOnBasisOfId.insertOne({"UserName":"Larry","UserAge":23,"UserCountryName":"US"}); { "acknowledged" : true, "insertedId" : ObjectId("5c986f9f330fd0aa0d2fe4a3") } >db.removeDocumentOnBasisOfId.insertOne({"UserName":"Sam","UserAge":21,"UserCountryName":"UK"}); { "acknowledged" : true, "insertedId" : ObjectId("5c986fb4330fd0aa0d2fe4a4") } >db.removeDocumentOnBasisOfId.insertOne({"UserName":"Chris","UserAge":24,"UserCountryName":"US"}); { "acknowledged" : true, "insertedId" : ObjectId("5c986fc0330fd0aa0d2fe4a5") } >db.removeDocumentOnBasisOfId.insertOne({"UserName":"Robert","UserAge":26,"UserCountryName":"UK"}); { "acknowledged" : true, "insertedId" : ObjectId("5c986fcf330fd0aa0d2fe4a6") } >db.removeDocumentOnBasisOfId.insertOne({"UserName":"David","UserAge":28,"UserCountryName":"AUS"}); { "acknowledged" : true, "insertedId" : ObjectId("5c986fed330fd0aa0d2fe4a7") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()
> db.removeDocumentOnBasisOfId.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{ "_id" : ObjectId("5c986f9f330fd0aa0d2fe4a3"), "UserName" : "Larry", "UserAge" : 23, "UserCountryName" : "US" } { "_id" : ObjectId("5c986fb4330fd0aa0d2fe4a4"), "UserName" : "Sam", "UserAge" : 21, "UserCountryName" : "UK" } { "_id" : ObjectId("5c986fc0330fd0aa0d2fe4a5"), "UserName" : "Chris", "UserAge" : 24, "UserCountryName" : "US" } { "_id" : ObjectId("5c986fcf330fd0aa0d2fe4a6"), "UserName" : "Robert", "UserAge" : 26, "UserCountryName" : "UK" } { "_id" : ObjectId("5c986fed330fd0aa0d2fe4a7"), "UserName" : "David", "UserAge" : 28, "UserCountryName" : "AUS" }
ต่อไปนี้เป็นแบบสอบถามเพื่อลบเอกสารบนพื้นฐานของ _id
> db.removeDocumentOnBasisOfId.remove({"_id":ObjectId("5c986fc0330fd0aa0d2fe4a5")}); WriteResult({ "nRemoved" : 1 })
เราได้ลบบันทึกของ Chris ตาม _id ด้านบนแล้ว ตอนนี้แสดงเอกสารทั้งหมดจากคอลเลกชันเพื่อตรวจสอบว่าเอกสารถูกลบหรือไม่
> db.removeDocumentOnBasisOfId.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{ "_id" : ObjectId("5c986f9f330fd0aa0d2fe4a3"), "UserName" : "Larry", "UserAge" : 23, "UserCountryName" : "US" } { "_id" : ObjectId("5c986fb4330fd0aa0d2fe4a4"), "UserName" : "Sam", "UserAge" : 21, "UserCountryName" : "UK" } { "_id" : ObjectId("5c986fcf330fd0aa0d2fe4a6"), "UserName" : "Robert", "UserAge" : 26, "UserCountryName" : "UK" } { "_id" : ObjectId("5c986fed330fd0aa0d2fe4a7"), "UserName" : "David", "UserAge" : 28, "UserCountryName" : "AUS" }