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

Xóa dữ liệu từ collection MongoDB với nhiều điều kiện

Sử dụng phương thức remove(). Tạo collection:

> db.deleteDataDemo.insertOne({_id:1,"Name":"Larry"});
{ "acknowledged": true, "insertedId": 1 }
> db.deleteDataDemo.insertOne({_id:2,"Name":"Chris"});
{ "acknowledged": true, "insertedId": 2 }
> db.deleteDataDemo.insertOne({_id:3,"Name":"Robert"});
{ "acknowledged": true, "insertedId": 3 }
> db.deleteDataDemo.insertOne({_id:4,"Name":"David"});
{ "acknowledged": true, "insertedId": 4 }
> db.deleteDataDemo.insertOne({_id:5,"Name":"Carol"});
{ "acknowledged": true, "insertedId": 5 }
> db.deleteDataDemo.insertOne({_id:6,"Name":"Sam"});
{ "acknowledged": true, "insertedId": 6 }

Hiển thị tất cả

> db.deleteDataDemo.find().pretty();

Xóa với 2 điều kiện (_id = 4 VÀ Name = "David")

> db.deleteDataDemo.remove({'_id':4,'Name':"David"});
WriteResult({ "nRemoved": 1 })

Kiểm tra lại

> db.deleteDataDemo.find().pretty();

Kết quả (David đã bị xóa):

{
    "_id": 1, "Name": "Larry"
}
{
    "_id": 2, "Name": "Chris"
}
{
    "_id": 3, "Name": "Robert"
}
{
    "_id": 5, "Name": "Carol"
}
{
    "_id": 6, "Name": "Sam"
}

Lưu ý: remove() đã lỗi thời từ MongoDB 3.2. Nên dùng deleteOne() hoặc deleteMany() thay thế. Cú pháp tương đương: db.deleteDataDemo.deleteOne({_id: 4, Name: "David"}).