Computer >> Máy Tính >  >> Lập trình >> MongoDB

Làm cách nào để xóa nhiều id trong MongoDB?

Để 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
}