Để đối sánh và xóa (các) phần tử, hãy sử dụng MongoDB $ pullAll. Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.removeElementsDemo.insertOne({"ListOfNames":["Mike","Sam","David","Carol"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e071e5a25ddae1f53b62203") }
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.removeElementsDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5e071e5a25ddae1f53b62203"), "ListOfNames" : [ "Mike", "Sam", "David", "Carol" ] }
Đây là truy vấn để so khớp và xóa (các) phần tử khỏi một mảng -
> db.removeElementsDemo.update( ... { }, ... { ... $pullAll: ... { ... "ListOfNames": ["Carol"] ... } ... } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
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.removeElementsDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau. Ở trên, chúng tôi chỉ xóa một giá trị duy nhất -
{ "_id" : ObjectId("5e071e5a25ddae1f53b62203"), "ListOfNames" : [ "Mike", "Sam", "David" ] }