Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में नेस्टेड डॉक्यूमेंट्स के लिए एग्रीगेशन

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 }
  1. - MongoDB में समान ID वाले दस्तावेज़ों के एलिमेंट्स को एग्रीगेट करना

    अलग-अलग दस्तावेज़ों में समान ID वाले एलिमेंट्स को ग्रुप करने के लिए MongoDB के $group एग्रीगेशन स्टेज का उपयोग करें। डेमो डेटा > db.demo602.insertOne({id:1,Name:Chris}); > db.demo602.insertOne({id:2,Name:David}); > db.demo602.insertOne({id:1,Name:Bob}); > db.demo602.insertOne({id:3,Name

  1. - MongoDB में नेस्टेड ऐरे के लिए फ़िल्टरिंग कंडीशन सेट करना

    नेस्टेड ऐरे को फ़िल्टर करने के लिए $filter, $cond, $map और $anyElementTrue का संयोजन उपयोग करें। डेमो डेटा db.demo725.insertOne({ details: { userMessages: [ { Messages: [ { Message: Hello }, { Message: How }, { Message: are } ] }, { Messages: [ { Message: Good },

  1. - MongoDB में विशिष्ट नेस्टेड डॉक्यूमेंट्स के लिए ऑब्जेक्ट्स की सरणी पर क्वेरी कैसे करें?

    ऑब्जेक्ट्स की सरणी के लिए नेस्टेड डॉक्यूमेंट्स पर क्वेरी करने के लिए find() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo763.insertOne( { _id:1, CountryName:US, studentInformation: [ { StudentName:Chris }, { StudentName:David, StudentAge:22 } ] } ); { acknowledged : true, insertedId : 1 } f