ในการแทรกรายการลงในอาร์เรย์ที่สร้างไว้แล้วภายในวัตถุ ให้ใช้ MongoDB $push ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo449.insertOne(... {... details1:{... details2:[{... _id:new ObjectId(),... Name:"Chris"... }] ,... details3:[{... _id:new ObjectId(),... Name:"David"... }]... }... }... );{ "acknowledged" :true , "insertedId" :ObjectId("5e7a40e971f552a0ebb0a6e3")}
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo449.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :ObjectId("5e7a40e971f552a0ebb0a6e3"), "details1" :{ "details2" :[ { "_id" :ObjectId("5e7a40e971f552a0ebb0a6e1"), "Name" } ] s de "Chris" :[ { "_id" :ObjectId("5e7a40e971f552a0ebb0a6e2"), "ชื่อ" :"เดวิด" } ] } }
ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกรายการไปยังอาร์เรย์ที่อยู่ภายในวัตถุ -
> db.demo449.update({_id:ObjectId("5e7a40e971f552a0ebb0a6e3")}, {$push:{'details1.details2':{_id:ObjectId(),"Name":"แครอล"}}}) WriteResult({ "nMatched" :1, "nUpserted" :0, "nModified" :1 }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo449.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :ObjectId("5e7a40e971f552a0ebb0a6e3"), "details1" :{ "details2" :[ { "_id" :ObjectId("5e7a40e971f552a0ebb0a6e1") "Name" } :"Chris :ObjectId("5e7a41a671f552a0ebb0a6e5"), "Name" :"Carol" } ], "details3" :[ { "_id" :ObjectId("5e7a40e971f552a0ebb0a6e2"), "Name" :] ก่อน David } } }