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

Làm cách nào để chèn một mục vào một mảng bên trong một đối tượng trong MongoDB?

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

> db.demo449.insertOne(
... {
...    details1: {
...       details2: [{
...          _id:new ObjectId(),
...             Name:"Chris"
...       }],
...       details3: [{
...          _id:new ObjectId(),
...          Name:"David"
...       }]
...    }
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e7a40e971f552a0ebb0a6e3")
}

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

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

{ "_id" : ObjectId("5e7a40e971f552a0ebb0a6e3"), "details1" : { "details2" : [ { "_id" :
ObjectId("5e7a40e971f552a0ebb0a6e1"), "Name" : "Chris" } ], "details3" : [ { "_id" :
ObjectId("5e7a40e971f552a0ebb0a6e2"), "Name" : "David" } ] } }

Sau đây là truy vấn để chèn một mục vào một mảng bên trong một đối tượng -

> db.demo449.update({_id:ObjectId("5e7a40e971f552a0ebb0a6e3")}, {$push: {
'details1.details2':{_id:ObjectId(),"Name":"Carol"}}})
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.demo449.find();

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

{ "_id" : ObjectId("5e7a40e971f552a0ebb0a6e3"), "details1" : { "details2" : [ { "_id" :
ObjectId("5e7a40e971f552a0ebb0a6e1"), "Name" : "Chris" }, { "_id" :
ObjectId("5e7a41a671f552a0ebb0a6e5"), "Name" : "Carol" } ], "details3" : [ { "_id" :
ObjectId("5e7a40e971f552a0ebb0a6e2"), "Name" : "David" } ] } }