สร้างคอลเลกชันตัวอย่าง (โครงสร้างซ้อนหลายระดับ)
> db.demo296.insertOne({
"id":101,
"Name":"Chris",
"details":[
{ "SubjectId":[101,103], "SubjectName":["MySQL","MongoDB"] },
{ "SubjectId":[102,104], "SubjectName":["Java","C"] }
]
});
{ "acknowledged": true, "insertedId": ObjectId("5e4d51715d93261e4bc9ea3b") }
> db.demo296.insertOne({
"id":102,
"Name":"David",
"details":[
{ "SubjectId":[110,113] },
{ "SubjectId":[112,114] }
]
});
{ "acknowledged": true, "insertedId": ObjectId("5e4d519b5d93261e4bc9ea3c") }
> db.demo296.insertOne({
"id":103,
"Name":"Bob",
"details":[
{ "SubjectName":["C++","Python"] },
{ "SubjectName":["Spring","Hibernate"] }
]
});
{ "acknowledged": true, "insertedId": ObjectId("5e4d52315d93261e4bc9ea3d") }
แสดงข้อมูล
> db.demo296.find();
{ "_id": ObjectId("5e4d51715d93261e4bc9ea3b"), "id": 101, "Name": "Chris", "details": [ { "SubjectId": [ 101, 103 ], "SubjectName": [ "MySQL", "MongoDB" ] }, { "SubjectId": [ 102, 104 ], "SubjectName": [ "Java", "C" ] } ] }
{ "_id": ObjectId("5e4d519b5d93261e4bc9ea3c"), "id": 102, "Name": "David", "details": [ { "SubjectId": [ 110, 113 ] }, { "SubjectId": [ 112, 114 ] } ] }
{ "_id": ObjectId("5e4d52315d93261e4bc9ea3d"), "id": 103, "Name": "Bob", "details": [ { "SubjectName": [ "C++", "Python" ] }, { "SubjectName": [ "Spring", "Hibernate" ] } ] }
คิวรี: count() + $exists บน details.SubjectName
> db.demo296.count( { 'details.SubjectName': {$exists: true } } );
ผลลัพธ์: 2 (เฉพาะ Chris และ Bob ที่มี SubjectName)
2