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

ลบหลายเอกสารใน MongoDB ด้วย deleteMany()

ใช้เมธอด deleteMany() เพื่อลบหลายเอกสารที่ตรงกับเงื่อนไขในครั้งเดียว (MongoDB 3.2+) เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง:

> db.deleteMultipleDocumentsDemo.insertOne({"StudentFirstName":"Larry"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ce00b07bf3115999ed51214") }
> db.deleteMultipleDocumentsDemo.insertOne({"StudentFirstName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ce00b0bbf3115999ed51215") }
> db.deleteMultipleDocumentsDemo.insertOne({"StudentFirstName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ce00b0fbf3115999ed51216") }
> db.deleteMultipleDocumentsDemo.insertOne({"StudentFirstName":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ce00b12bf3115999ed51217") }
> db.deleteMultipleDocumentsDemo.insertOne({"StudentFirstName":"Carol"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ce00b18bf3115999ed51218") }

แสดงเอกสารทั้งหมด:

> db.deleteMultipleDocumentsDemo.find();

คิวรี่ลบเอกสารที่ StudentFirstName เป็น "Larry", "David", หรือ "Carol" (ใช้ $in):

> db.deleteMultipleDocumentsDemo.deleteMany({StudentFirstName: {$in: ["Larry", "David", "Carol"]}});
{ "acknowledged" : true, "deletedCount" : 3 }

แสดงเอกสารที่เหลือ:

> db.deleteMultipleDocumentsDemo.find();

เมธอดลบข้อมูลใน MongoDB:

  • deleteOne(filter) - ลบ 1 เอกสารที่ตรงเงื่อนไขแรก
  • deleteMany(filter) - ลบ ทุก เอกสารที่ตรงเงื่อนไข
  • remove(filter, {justOne: true}) - รุ่นเก่า (deprecated)