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

MongoDB में aggregate का उपयोग करके अंकों का औसत कैसे निकालें

$avg ऑपरेटर के साथ एग्रीगेशन फ्रेमवर्क का उपयोग करें

MongoDB में किसी फ़ील्ड के मानों का औसत निकालने के लिए एग्रीगेशन पाइपलाइन में $avg ऑपरेटर का उपयोग करें।

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

> db.averageReturiningNullDemo.insertOne({"StudentDetails": {"StudentScore": 89}});
{ "acknowledged": true, "insertedId": ObjectId("5ce9822e78f00858fb12e927") }
> db.averageReturiningNullDemo.insertOne({"StudentDetails": {"StudentScore": 34}});
{ "acknowledged": true, "insertedId": ObjectId("5ce9822e78f00858fb12e928") }
> db.averageReturiningNullDemo.insertOne({"StudentDetails": {"StudentScore": 78}});
{ "acknowledged": true, "insertedId": ObjectId("5ce9822e78f00858fb12e929") }

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

> db.averageReturiningNullDemo.find().pretty();
{
    "_id": ObjectId("5ce9822e78f00858fb12e927"),
    "StudentDetails": {"StudentScore": 89}
}
{
    "_id": ObjectId("5ce9822e78f00858fb12e928"),
    "StudentDetails": {"StudentScore": 34}
}
{
    "_id": ObjectId("5ce9822e78f00858fb12e929"),
    "StudentDetails": {"StudentScore": 78}
}

औसत निकालने की क्वेरी

$group स्टेज में _id: null का उपयोग करके सभी डॉक्यूमेंट्स को एक ग्रुप में रखें और $avg से औसत निकालें:

> db.averageReturiningNullDemo.aggregate([
    {
        "$group": {
            "_id": null,
            "StudentScoreAverage": {
                "$avg": "$StudentDetails.StudentScore"
            }
        }
    }
]);

आउटपुट:

{ "_id": null, "StudentScoreAverage": 67 }

औसत 67 आया (89 + 34 + 78 = 201, 201/3 = 67)।

  1. - MongoDB aggregate से डुप्लिकेट नामों के संबंधित फील्ड मानों की गिनती प्राप्त करें

    उदाहरण देखते हैं और डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo558.insertOne( ... { _id : 100, CountryCode:101, details: [ ... { Name:Chris, Subject:MySQL }, ... { Name:Chris, Subject:MongoDB }, ... { Name:Chris, Subject:Java }, ... { Name:Bob, Subject:Python }, ... { Name:Bob, Subject:J

  1. - MongoDB एग्रीगेशन: सबसे कम मार्क्स वाले दो दस्तावेज प्राप्त करें

    मार्क्स की सॉर्ट की गई सूची प्राप्त करने के लिए $sort का उपयोग करें। केवल दो दस्तावेज प्रदर्शित करने के लिए जिनमें सबसे कम मार्क्स हैं, $limit: 2 का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo709.insertOne({Name:John,Marks:75}); { acknowledged : true, insertedId : ObjectId(

  1. - MongoDB एग्रीगेशन: दस्तावेज और ऐरे एलिमेंट्स से औसत प्राप्त करें

    इसके लिए, $avg के साथ $group और aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo598.insertOne({ Information:Student, id:100, details:[ {Name:Chris,Marks:75}, {Name:Bob,Marks:55} ] }); { acknowledged : true, insertedId : ObjectId(5e9