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

MongoDB एग्रीगेशन में Min/Max ऑपरेशन करें

MongoDB एग्रीगेशन में $min और $max का उपयोग

एग्रीगेशन पाइपलाइन में $group स्टेज के साथ $min और $max एक्यूमुलेटर्स का उपयोग करके किसी फ़ील्ड के न्यूनतम और अधिकतम मानों की गणना करें।

सैंपल डेटा बनाना

> db.demo251.insertOne({"Marks":78});
{ "acknowledged" : true, "insertedId" : ObjectId("5e46c0001627c0c63e7dba74") }
> db.demo251.insertOne({"Marks":87});
{ "acknowledged" : true, "insertedId" : ObjectId("5e46c0031627c0c63e7dba75") }
> db.demo251.insertOne({"Marks":56});
{ "acknowledged" : true, "insertedId" : ObjectId("5e46c0061627c0c63e7dba76") }
> db.demo251.insertOne({"Marks":76});
{ "acknowledged" : true, "insertedId" : ObjectId("5e46c00c1627c0c63e7dba77") }

सभी दस्तावेज़ देखना

> db.demo251.find();

आउटपुट:


Min/Max एग्रीगेशन

> db.demo251.aggregate([
    { "$group": {
        "_id": null,
        "MaxMarks": { "$max": "$Marks" },
        "MinMarks": { "$min": "$Marks" }
    }}
]);

आउटपुट:


अन्य उपयोगी एक्यूमुलेटर्स

ऑपरेटरविवरण
$sumकुल योग
$avgऔसत
$firstपहला मान (सॉर्ट ऑर्डर के अनुसार)
$lastअंतिम मान
$pushसभी मानों का ऐरे
$addToSetयूनिक मानों का ऐरे
$stdDevPopजनसंख्या मानक विचलन
$stdDevSampनमूना मानक विचलन

ग्रुपिंग के साथ संयोजन

> db.demo251.aggregate([
    { $group: {
        _id: "$Category",  // यदि Category फ़ील्ड हो
        MaxMarks: { $max: "$Marks" },
        MinMarks: { $min: "$Marks" },
        AvgMarks: { $avg: "$Marks" }
    }}
]);

नोट

  • _id: null सभी दस्तावेज़ों को सिंगल ग्रुप में जोड़ता है
  • null/मिसिंग मानों को $min/$max नजरअंदाज करते हैं
  • बड़े डेटासेट के लिए इंडेक्स परफॉर्मेंस में सुधार करता है
  1. - MongoDB में एग्रीगेशन का उपयोग करके सभी मानों को मैच करें

    MongoDB में सभी मानों को मैच करने के लिए, एग्रीगेशन में $match के साथ $and का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo574.insertOne({ details1: { details2: { dueDate: new ISODate(2020-01-10), Name: Chris, UserInformation: {

  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 एग्रीगेशन में मल्टीपल फ़ील्ड्स द्वारा काउंट करना

    एक ही पाइपलाइन में कई फ़ील्ड्स पर काउंट करने के लिए $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 } }); क्वेरी