Để xóa bản ghi cụ thể, hãy sử dụng toán tử $ pull. 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 -
> dbdeletingSpecificRecordDemoinsertOne( { "StudentDetails": [ { "StudentName": "John", "StudentSubjectDetails": [ { "Subject": "MongoDB", "Marks":45 }, { "Subject": "MySQL", "Marks":67 } ] } ] } ); { "acknowledged" : true, "insertedId" : ObjectId("5cf2210ab64a577be5a2bc06") }
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 () -
> dbdeletingSpecificRecordDemofind()pretty();
Điều này sẽ tạo ra tài liệu sau -
{ "_id" : ObjectId("5cf2210ab64a577be5a2bc06"), "StudentDetails" : [ { "StudentName" : "John", "StudentSubjectDetails" : [ { "Subject" : "MongoDB", "Marks" : 45 }, { "Subject" : "MySQL", "Marks" : 67 } ] } ] }
Đây là truy vấn để xóa bản ghi cụ thể khỏi một mảng được lồng trong một mảng khác -
> dbdeletingSpecificRecordDemoupdate({"_id": ObjectId("5cf2210ab64a577be5a2bc06"), "StudentDetailsStudentName" : "John"}, { "$pull": {"StudentDetails$StudentSubjectDetails" : { "Marks":45 }} }, multi=true ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Hãy để chúng tôi kiểm tra tài liệu một lần nữa -
> dbdeletingSpecificRecordDemofind()pretty();
Điều này sẽ tạo ra tài liệu sau -
{ "_id" : ObjectId("5cf2210ab64a577be5a2bc06"), "StudentDetails" : [ { "StudentName" : "John", "StudentSubjectDetails" : [ { "Subject" : "MySQL", "Marks" : 67 } ] } ] }