Computer >> Máy Tính >  >> Lập trình >> MongoDB

Xóa một đối tượng trong tập hợp con trong MongoDB?

Để xóa một đối tượng trong tập hợp con, hãy sử dụng $ pull trong MongoDB. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo715.insertOne({
...    _id:1,
...    details :
...    [
...       { 'id' : '101',
...       'Information' : [
...          {
...             'studentid' : '102',
...             "Name":"Bob"
...          },
...          {
...             'studentid' : '103',
...             "Name":"Chris"
...          }
...       ]
...    }
... ]
... });
{ "acknowledged" : true, "insertedId" : 1 }

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.demo715.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : 1, "details" : [ { "id" : "101", "Information" : [ { "studentid" : "102", "Name" : "Bob" }, { "studentid" : "103", "Name" : "Chris" } ] } ] }

Sau đây là truy vấn để xóa một đối tượng trong tập hợp con trong MongoDB -

> db.demo715.update(
...    {"details.id":'101'},
...    { $pull: { 'details.$.Information':{studentid:'102',"Name":"Bob"} } }
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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.demo715.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : 1, "details" : [ { "id" : "101", "Information" : [ { "studentid" : "103", "Name" : "Chris" } ] } ] }