ใช้ตัวดำเนินการ $push เพื่อเพิ่มเอกสารย่อย ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.subDocumentToSubDocumentDemo.insertOne(
{
"_id" :101,
"StudentName" : "Larry",
"StudentAge" : 21,
"StudentDetails" : [
{
"StudentCountryName" : "US",
"StudentFavouriteSubjectList" : [ ]
}
]
}
);
{ "acknowledged" : true, "insertedId" : 101 } ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.subDocumentToSubDocumentDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : 101,
"StudentName" : "Larry",
"StudentAge" : 21,
"StudentDetails" : [
{
"StudentCountryName" : "US",
"StudentFavouriteSubjectList" : [ ]
}
]
} ต่อไปนี้เป็นแบบสอบถามเพื่อเพิ่มเอกสารย่อยไปยังอาร์เรย์เอกสารย่อยใน MongoDB -
> db.subDocumentToSubDocumentDemo.update(
{ "_id": 101 },
{
"$push": {
"StudentDetails": {
"StudentCountryName" : "UK",
"StudentFavouriteSubjectList" : ["MongoDB","Java" ]
}
}
}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) ให้เราตรวจสอบเอกสารทั้งหมดอีกครั้ง -
> db.subDocumentToSubDocumentDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : 101,
"StudentName" : "Larry",
"StudentAge" : 21,
"StudentDetails" : [
{
"StudentCountryName" : "US",
"StudentFavouriteSubjectList" : [ ]
},
{
"StudentCountryName" : "UK",
"StudentFavouriteSubjectList" : [
"MongoDB",
"Java"
]
}
]
}