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 नजरअंदाज करते हैं
- बड़े डेटासेट के लिए इंडेक्स परफॉर्मेंस में सुधार करता है