Để xóa nhiều id trong MongoDB, bạn có thể sử dụng toán tử $ in. Sau đây là cú pháp
db.yourCollectionName.remove( { _id : { $in: [yourObjectId1, yourObjectId2, yourObjectId3)] } } );
Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu
> db.deleteMultipleIdsDemo.insertOne({"ClientName":"Chris","ClientAge":26}); { "acknowledged" : true, "insertedId" : ObjectId("5c9cd7d6a629b87623db1b19") } > db.deleteMultipleIdsDemo.insertOne({"ClientName":"Robert","ClientAge":28}); { "acknowledged" : true, "insertedId" : ObjectId("5c9cd7dea629b87623db1b1a") } > db.deleteMultipleIdsDemo.insertOne({"ClientName":"Sam","ClientAge":25}); { "acknowledged" : true, "insertedId" : ObjectId("5c9cd7e9a629b87623db1b1b") } > db.deleteMultipleIdsDemo.insertOne({"ClientName":"John","ClientAge":34}); { "acknowledged" : true, "insertedId" : ObjectId("5c9cd7f7a629b87623db1b1c") } > db.deleteMultipleIdsDemo.insertOne({"ClientName":"Carol","ClientAge":36}); { "acknowledged" : true, "insertedId" : ObjectId("5c9cd803a629b87623db1b1d") }
Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find ()
> db.deleteMultipleIdsDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau
{ "_id" : ObjectId("5c9cd7d6a629b87623db1b19"), "ClientName" : "Chris", "ClientAge" : 26 } { "_id" : ObjectId("5c9cd7dea629b87623db1b1a"), "ClientName" : "Robert", "ClientAge" : 28 } { "_id" : ObjectId("5c9cd7e9a629b87623db1b1b"), "ClientName" : "Sam", "ClientAge" : 25 } { "_id" : ObjectId("5c9cd7f7a629b87623db1b1c"), "ClientName" : "John", "ClientAge" : 34 } { "_id" : ObjectId("5c9cd803a629b87623db1b1d"), "ClientName" : "Carol", "ClientAge" : 36 }
Sau đây là truy vấn để xóa nhiều id trong MongoDB
> db.deleteMultipleIdsDemo.remove( { _id : { $in: [ObjectId("5c9cd7dea629b87623db1b1a"), ... ObjectId("5c9cd803a629b87623db1b1d"), ... ObjectId("5c9cd7d6a629b87623db1b19") ... ] } } ); WriteResult({ "nRemoved" : 3 })
Hãy để chúng tôi kiểm tra xem nhiều id đã bị xóa hay chưa
> db.deleteMultipleIdsDemo.find().pretty();
Sau đây là kết quả hiển thị, chúng tôi đã xóa thành công 3 id và bây giờ chỉ còn lại 2 id
{ "_id" : ObjectId("5c9cd7e9a629b87623db1b1b"), "ClientName" : "Sam", "ClientAge" : 25 } { "_id" : ObjectId("5c9cd7f7a629b87623db1b1c"), "ClientName" : "John", "ClientAge" : 34 }