Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Xóa document trong MongoDB với remove()

Phương thức remove() dùng để xóa document khỏi collection. Lưu ý: Từ MongoDB 3.2+, khuyến nghị dùng deleteOne() hoặc deleteMany() thay vì remove().

Tạo collection và dữ liệu

> db.demo79.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2bdb2271bf0181ecc42293") }
> db.demo79.insertOne({"Name":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2bdb2671bf0181ecc42294") }
> db.demo79.insertOne({"Name":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2bdb2971bf0181ecc42295") }
> db.demo79.insertOne({"Name":"Mike"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2bdb2c71bf0181ecc42296") }

Xóa document có Name="Bob"

> db.demo79.remove({"Name":"Bob"});
WriteResult({ "nRemoved" : 1 })

Kiểm tra sau khi xóa

> db.demo79.find();
{ "_id" : ObjectId("5e2bdb2271bf0181ecc42293"), "Name" : "Chris" }
{ "_id" : ObjectId("5e2bdb2671bf0181ecc42294"), "Name" : "David" }
{ "_id" : ObjectId("5e2bdb2c71bf0181ecc42296"), "Name" : "Mike" }

Cú pháp hiện đại (khuyến nghị):

  • db.collection.deleteOne({filter}) - xóa 1 document đầu tiên khớp
  • db.collection.deleteMany({filter}) - xóa tất cả document khớp
  • db.collection.findOneAndDelete({filter}) - xóa và trả về document đã xóa

remove() vẫn hoạt động nhưng được coi là legacy. Tham số thứ 2 justOne: true (mặc định false) để xóa chỉ 1 document.