MongoDB में एग्रीगेशन के लिए aggregate() का उपयोग करें। पहले कलेक्शन बनाएं:
> db.demo199.insertOne({
"details1": {
"details2": {
"details3": {
"Name": "Chris",
"details4": {
"details5": { "v1": 10, "v2": 20, "v3": 30 }
}
}
}
}
});
{ "acknowledged": true, "insertedId": ObjectId("5e3c24aa03d395bdc21346e2") }
> db.demo199.insertOne({
"details1": {
"details2": {
"details3": {
"Name": "Chris",
"details4": {
"details5": { "v1": 30, "v2": 40, "v3": 50 }
}
}
}
}
});
{ "acknowledged": true, "insertedId": ObjectId("5e3c24ab03d395bdc21346e3") }
सभी डॉक्यूमेंट्स देखें:
> db.demo199.find();
आउटपुट:
{ "_id": ObjectId("5e3c24aa03d395bdc21346e2"), "details1": { "details2": { "details3": { "Name": "Chris", "details4": { "details5": { "v1": 10, "v2": 20, "v3": 30 } } } } }
{ "_id": ObjectId("5e3c24ab03d395bdc21346e3"), "details1": { "details2": { "details3": { "Name": "Chris", "details4": { "details5": { "v1": 30, "v2": 40, "v3": 50 } } } } }
नेस्टेड डॉक्यूमेंट्स के लिए एग्रीगेशन क्वेरी:
> var out = [
{ "$unwind": "$details1.details2" },
{ "$group": {
"_id": "$details1.details2._id",
"v1": { "$sum": "$details1.details2.details3.details4.details5.v1" },
"v2": { "$sum": "$details1.details2.details3.details4.details5.v2" },
"v3": { "$sum": "$details1.details2.details3.details4.details5.v3" }
}}
]
> result = db.demo199.aggregate(out);
परिणाम:
{ "_id": null, "v1": 40, "v2": 60, "v3": 80 }