Để xóa document có trường khớp giá trị chính xác, sử dụng remove() kết hợp toán tử $eq (so sánh bằng).
Tạo collection
> db.demo626.insertOne({id:1, "Name":"Chris"});
> db.demo626.insertOne({id:2, "Name":"David"});
> db.demo626.insertOne({id:3, "Name":"Bob"});
> db.demo626.insertOne({id:4, "Name":"Mike"});
Hiển thị trước khi xóa
> db.demo626.find();
Kết quả (4 document):
Chris, David, Bob, Mike
Xóa document có Name = "Bob"
> db.demo626.remove({Name: {$eq: "Bob"}});
WriteResult({ "nRemoved" : 1 })
Tương đương đơn giản hơn: db.demo626.remove({Name: "Bob"}) vì mặc định là so sánh bằng.
Kiểm tra sau xóa
> db.demo626.find();
Kết quả (còn 3 document):
Chris, David, Mike
Lưu ý:
remove()đã **deprecated** từ MongoDB 3.2+, khuyến nghị dùngdeleteOne()(xóa 1) hoặcdeleteMany()(xóa nhiều)- Cú pháp hiện đại:
db.demo626.deleteOne({Name: "Bob"}) $eqhữu ích khi cần rõ ràng ý đồ so sánh bằng, hoặc kết hợp trong biểu thức phức tạp- Luôn kiểm tra với
find()trước khi xóa để tránh mất dữ liệu nhầm