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

ลบเอกสารใน MongoDB ตาม _id ด้วย remove()

การลบเอกสารโดยระบุ _id โดยตรง ใช้เมธอด remove() (หรือ deleteOne() / deleteMany() ในเวอร์ชันใหม่)

รูปแบบคำสั่ง

db.yourCollectionName.remove({_id: yourObjectId});

ตัวอย่างข้อมูล

> db.demo518.insertOne({"ClientName": "Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88b02db3fbf26334ef610e") }
> db.demo518.insertOne({"ClientName": "Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88b030b3fbf26334ef610f") }
> db.demo518.insertOne({"ClientName": "David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88b035b3fbf26334ef6110") }

แสดงข้อมูล:

> db.demo518.find();
{ "_id" : ObjectId("5e88b02db3fbf26334ef610e"), "ClientName" : "Chris" }
{ "_id" : ObjectId("5e88b030b3fbf26334ef610f"), "ClientName" : "Bob" }
{ "_id" : ObjectId("5e88b035b3fbf26334ef6110"), "ClientName" : "David" }

คิวรีลบเอกสารที่ _id = ObjectId("5e88b02db3fbf26334ef610e")

> db.demo518.remove({_id: ObjectId("5e88b02db3fbf26334ef610e")});
WriteResult({ "nRemoved" : 1 })

ตรวจสอบหลังลบ:

> db.demo518.find();
{ "_id" : ObjectId("5e88b030b3fbf26334ef610f"), "ClientName" : "Bob" }
{ "_id" : ObjectId("5e88b035b3fbf26334ef6110"), "ClientName" : "David" }

เมธอดลบใน MongoDB เวอร์ชันใหม่ (แนะนำ)

  • deleteOne(filter) - ลบ 1 เอกสารที่ match แรก
  • deleteMany(filter) - ลบเอกสารทั้งหมดที่ match
  • findOneAndDelete(filter) - ลบและคืนค่าเอกสารที่ลบ

remove() ถูก deprecated แนะนำให้ใช้ deleteOne/deleteMany แทน