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

คำสั่ง MongoDB find() สำหรับเอกสารซ้อน (Nested Document)


เพื่อดึงค่าจากเอกสารซ้อน ให้ใช้ dot notation มาสร้างคอลเล็กชันกันเถอะ

> db.demo591.insert([
    { "Name": "John", "Age": 23 },
    {"Name": "Carol", "Age": 26},
    { "Name": "Robert", "Age": 29,
        details:[
            { Email:"Robert@gmail.com",CountryName:"US"},{"Post":35}
        ]}
]);
BulkWriteResult({ "writeErrors" : [ ], "writeConcernErrors" : [ ], "nInserted" : 3, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] })

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

> db.demo591.find();

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

{ "_id" : ObjectId("5e92dd08fd2d90c177b5bcd3"), "Name" : "John", "Age" : 23 }
{ "_id" : ObjectId("5e92dd08fd2d90c177b5bcd4"), "Name" : "Carol", "Age" : 26 }
{ "_id" : ObjectId("5e92dd08fd2d90c177b5bcd5"), "Name" : "Robert", "Age" : 29, "details" : [ { "Email" : "Robert@gmail.com", "CountryName" : "US" }, { "Post" : 35 } ] }

คำสั่งดึงเอกสารซ้อนโดยใช้ dot notation

> db.demo591.find({"details.Email": "Robert@gmail.com"});

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

{ "_id" : ObjectId("5e92dd08fd2d90c177b5bcd5"), "Name" : "Robert", "Age" : 29, "details" : [ { "Email" : "Robert@gmail.com", "CountryName" : "US" }, { "Post" : 35 } ] }