MongoDB में नेस्टेड डॉक्यूमेंट्स को एग्रीगेट करने के लिए $group का उपयोग कर सकते हैं। पहले कलेक्शन बनाएं:
> db.aggregateDemo.insertOne({
"ProductInformation": [
{ "Product1": [ { "Amount": 50 }, { "Amount": 90 }, { "Amount": 30 } ] },
{ "Product1": [ { "Amount": 200 }, { "Amount": 30 }, { "Amount": 40 } ] },
{ "Product1": [ { "Amount": 150 }, { "Amount": 190 }, { "Amount": 198 } ] }
]
});
{ "acknowledged": true, "insertedId": ObjectId("5e04df58150ee0e76c06a04d") }
> db.aggregateDemo.insertOne({
"ProductInformation": [
{ "Product1": [ { "Amount": 100 }, { "Amount": 1002 }, { "Amount": 78 } ] },
{ "Product1": [ { "Amount": 75 }, { "Amount": 400 }, { "Amount": 600 } ] },
{ "Product1": [ { "Amount": 700 }, { "Amount": 500 }, { "Amount": 600 } ] }
]
});
{ "acknowledged": true, "insertedId": ObjectId("5e04df93150ee0e76c06a04e") }
सभी डॉक्यूमेंट्स देखें:
> db.aggregateDemo.find().pretty();
आउटपुट:
नेस्टेड डॉक्यूमेंट्स एग्रीगेट करने की क्वेरी:
> db.aggregateDemo.aggregate([ { $unwind: "$ProductInformation" }, { $unwind: "$ProductInformation.Product1" }, { $group: { _id: null, MaximumAmount: { $max: "$ProductInformation.Product1.Amount" } }} ]);परिणाम: