सबसे पहले एक कलेक्शन बनाते हैं जिसमें डॉक्यूमेंट्स हों:
> db.demo187.insertOne({ "_id": "101", "Details": [ { "Subject": "MongoDB" }, { "Subject": "MySQL" } ] });
{ "acknowledged": true, "insertedId": "101" }
> db.demo187.insertOne({ "_id": "102", "Details": [ { } ] });
{ "acknowledged": true, "insertedId": "102" }
> db.demo187.insertOne({ "_id": "103", "Details": [ { "Subject": "MongoDB" }, { "Subject": "MySQL" } ] });
{ "acknowledged": true, "insertedId": "103" }
find() मेथड से सभी डॉक्यूमेंट्स देखें:
> db.demo187.find();
आउटपुट:
{ "_id": "101", "Details": [ { "Subject": "MongoDB" }, { "Subject": "MySQL" } ] }
{ "_id": "102", "Details": [ { } ] }
{ "_id": "103", "Details": [ { "Subject": "MongoDB" }, { "Subject": "MySQL" } ] }
भरे हुए नेस्टेड ऐरे वाले डॉक्यूमेंट्स खोजने के लिए एग्रीगेशन क्वेरी:
> db.demo187.aggregate([
{ $unwind: "$Details" },
{ $project: { Subject: "$Details.Subject" } },
{ $match: { Subject: { $exists: true } } }
])
परिणाम:
{ "_id": "101", "Subject": "MongoDB" }
{ "_id": "101", "Subject": "MySQL" }
{ "_id": "103", "Subject": "MongoDB" }
{ "_id": "103", "Subject": "MySQL" }