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

MongoDB एग्रीगेशन में मल्टीपल कीज़ के साथ ग्रुपिंग

$group स्टेज में मल्टीपल कीज़ (Name और Year) द्वारा एग्रीगेशन

एग्रीगेशन पाइपलाइन में $group स्टेज का उपयोग करके एक से अधिक फ़ील्ड्स (जैसे नाम और डेट का वर्ष) के संयोजन द्वारा ग्रुपिंग करें और वैल्यूज़ का योग निकालें।

उदाहरण: संग्रह बनाना

> db.demo190.insertOne({"DueDate": ISODate("2020-01-01"), "Value": 10, "Name": "Chris"});
{ "acknowledged": true, "insertedId": ObjectId("5e3ad76403d395bdc21346bf") }
> db.demo190.insertOne({"DueDate": ISODate("2020-02-05"), "Value": 30, "Name": "David"});
{ "acknowledged": true, "insertedId": ObjectId("5e3ad76403d395bdc21346c0") }
> db.demo190.insertOne({"DueDate": ISODate("2020-01-01"), "Value": 40, "Name": "Chris"});
{ "acknowledged": true, "insertedId": ObjectId("5e3ad7f003d395bdc21346c1") }

सभी डॉक्यूमेंट्स देखना

> db.demo190.find();
{ "_id": ObjectId("5e3ad76403d395bdc21346bf"), "DueDate": ISODate("2020-01-01T00:00:00Z"), "Value": 10, "Name": "Chris" }
{ "_id": ObjectId("5e3ad76403d395bdc21346c0"), "DueDate": ISODate("2020-02-05T00:00:00Z"), "Value": 30, "Name": "David" }
{ "_id": ObjectId("5e3ad7f003d395bdc21346c1"), "DueDate": ISODate("2020-01-01T00:00:00Z"), "Value": 40, "Name": "Chris" }

मल्टीपल कीज़ द्वारा एग्रीगेशन क्वेरी

> db.demo190.aggregate([
    {
        "$group": {
            "_id": {
                "Name": "$Name",
                "DueDate": { "$year": "$DueDate" }
            },
            "Value": { "$sum": "$Value" }
        }
    }
]);

आउटपुट:

{ "_id": {"Name": "David", "DueDate": 2020}, "Value": 30 }
{ "_id": {"Name": "Chris", "DueDate": 2020}, "Value": 50 }

ग्रुपिंग Name और DueDate के वर्ष (2020) दोनों द्वारा हुई। Chris के दो डॉक्यूमेंट्स (10 + 40) का योग 50 हुआ।

  1. - MongoDB एग्रीगेशन फ्रेमवर्क में ग्रुप क्वेरी उदाहरण

    इसके लिए MongoDB एग्रीगेशन में $group का उपयोग करें। नमूना डेटा बनाना db.demo639.insertOne( { _id: 2, CountryName: UK, Info1: { Name: Chris, SubjectName: MySQL, Marks: 79 }, Info2: { Name: Chris, SubjectName: MySQL, Marks: 88 } } ); सभी दस्तावेज़ देखना db.demo639.find(); { _id : 1, CountryName :

  1. - एग्रीगेशन के साथ MongoDB दस्तावेज़ों को आरोही क्रम में कैसे सॉर्ट करें?

    MongoDB एग्रीगेशन में $sort का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo652.insertOne({ value:10, details : [{ ProductName : Product-1, ProductQuantity : 8, ProductPrice : 500 }, { ProductName : Product-2, ProductQuantity : 7

  1. - MongoDB एग्रीगेशन में मल्टीपल फ़ील्ड्स द्वारा काउंट करना

    एक ही पाइपलाइन में कई फ़ील्ड्स पर काउंट करने के लिए $facet का उपयोग करें। डेमो डेटा db.demo721.insertOne({ details1: { id:101 }, details2: { id:101 }, details3: { id:101 } }); db.demo721.insertOne({ details1: { id:101 }, details2: { id:102 }, details3: { id:102 } }); क्वेरी