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

Xóa document khớp giá trị với $eq trong MongoDB

Để 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ùng deleteOne() (xóa 1) hoặc deleteMany() (xóa nhiều)
  • Cú pháp hiện đại: db.demo626.deleteOne({Name: "Bob"})
  • $eq hữ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