ค้นหาข้อความใน MongoDBs Double Nested Array โดยใช้เครื่องหมายจุด (.) ให้เราสร้างคอลเลกชันก่อน ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสาร
> db.doubleNestedArrayDemo.insertOne(
... {
... "StudentId" : "1000",
... "StudentName" : "Larry",
... "StudentDetails" : [
... {
... "ProjectName" : "Online Banking",
... "ProjectDetails" : [
... {
... "TechnologyUsed" : "Java"
... },
... {
... "TechnologyUsed" : "MySQL in Backend"
... }
... ]
... }
... ]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5c992bd7330fd0aa0d2fe4cc")
}
> db.doubleNestedArrayDemo.insertOne( { "StudentId" : "1001", "StudentName" : "Robert", "StudentDetails" : [ { "ProjectName" : "Student Web Tracker", "ProjectDetails" : [ { "TechnologyUsed" : "Django Framework" }, { "TechnologyUsed" : "MongoDB in Backend" } ] } ] } );
{
"acknowledged" : true,
"insertedId" : ObjectId("5c992cdb330fd0aa0d2fe4cd")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()
> db.doubleNestedArrayDemo.find().pretty()
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{
"_id" : ObjectId("5c992bd7330fd0aa0d2fe4cc"),
"StudentId" : "1000",
"StudentName" : "Larry",
"StudentDetails" : [
{
"ProjectName" : "Online Banking",
"ProjectDetails" : [
{
"TechnologyUsed" : "Java"
},
{
"TechnologyUsed" : "MySQL in Backend"
}
]
}
]
}
{
"_id" : ObjectId("5c992cdb330fd0aa0d2fe4cd"),
"StudentId" : "1001",
"StudentName" : "Robert",
"StudentDetails" : [
{
"ProjectName" : "Student Web Tracker",
"ProjectDetails" : [
{
"TechnologyUsed" : "Django Framework"
},
{
"TechnologyUsed" : "MongoDB in Backend"
}
]
}
]
} ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาในอาร์เรย์ที่ซ้อนกันสองชั้น เรากำลังค้นหาบันทึกที่มีข้อความ “Java”
>db.doubleNestedArrayDemo.find({"StudentDetails.ProjectDetails.TechnologyUsed":"Java"}).pretty(); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{
"_id" : ObjectId("5c992bd7330fd0aa0d2fe4cc"),
"StudentId" : "1000",
"StudentName" : "Larry",
"StudentDetails" : [
{
"ProjectName" : "Online Banking",
"ProjectDetails" : [
{
"TechnologyUsed" : "Java"
},
{
"TechnologyUsed" : "MySQL in Backend"
}
]
}
]
}