Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

จะแทรกรายการลงในอาร์เรย์ที่อยู่ภายในวัตถุใน MongoDB ได้อย่างไร?


ในการแทรกรายการลงในอาร์เรย์ที่สร้างไว้แล้วภายในวัตถุ ให้ใช้ 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 } } }