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

วิธีเพิ่มซับเอกสาร (Subdocuments) แบบต่อเนื่องใน MongoDB


เพื่อเพิ่มซับเอกสาร ให้ใช้ $push ใน MongoDB คำสั่ง update() ใช้สำหรับอัปเดต มาสร้างคอลเล็กชันกันเถอะ

> db.demo587.insertOne({"id":101,"details":[{Name:"Chris",Age:21,Marks:57}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e92ba01fd2d90c177b5bcc9") }
> db.demo587.insertOne({"id":102,"details":[{Name:"Bob",Age:22,Marks:78}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e92ba0efd2d90c177b5bcca") }

แสดงเอกสารทั้งหมดด้วยเมธอด find()

> db.demo587.find();

ผลลัพธ์ที่ได้

{ "_id" : ObjectId("5e92ba01fd2d90c177b5bcc9"), "id" : 101, "details" : [ { "Name" : "Chris", "Age" : 21, "Marks" : 57 } ] }
{ "_id" : ObjectId("5e92ba0efd2d90c177b5bcca"), "id" : 102, "details" : [ { "Name" : "Bob", "Age" : 22, "Marks" : 78 } ] }

คำสั่งเพิ่มซับเอกสารต่อเนื่อง (Subject: MongoDB) ให้ id 101

> db.demo587.update({"id":101}, {"$push": {"details":{Subject:"MongoDB"}}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

แสดงเอกสารทั้งหมดหลังเพิ่ม

> db.demo587.find();

ผลลัพธ์ที่ได้

{ "_id" : ObjectId("5e92ba01fd2d90c177b5bcc9"), "id" : 101, "details" : [ { "Name" : "Chris", "Age" : 21, "Marks" : 57 }, { "Subject" : "MongoDB" } ] }
{ "_id" : ObjectId("5e92ba0efd2d90c177b5bcca"), "id" : 102, "details" : [ { "Name" : "Bob", "Age" : 22, "Marks" : 78 } ] }