MongoDB অগ্রিগেশন পাইপলাইনে $max এবং $min অপারেটর ব্যবহার করে কোনো ফিল্ডের সর্বোচ্চ ও সর্বনিম্ন মান বের করা যায়।
নমুনা ডেটা তৈরি করা
maxAndMinDemo কালেকশনে পাঁচটি ডকুমেন্ট ইনসার্ট করি যাতে Value ফিল্ড থাকে।
> db.maxAndMinDemo.insertOne({"Value":98});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd698a357806ebf1256f129") }
> db.maxAndMinDemo.insertOne({"Value":97});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd698af57806ebf1256f12a") }
> db.maxAndMinDemo.insertOne({"Value":69});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd698b357806ebf1256f12b") }
> db.maxAndMinDemo.insertOne({"Value":96});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd698b657806ebf1256f12c") }
> db.maxAndMinDemo.insertOne({"Value":99});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd698b957806ebf1256f12d") }
সকল ডকুমেন্ট দেখানো
> db.maxAndMinDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd698a357806ebf1256f129"), "Value" : 98 }
{ "_id" : ObjectId("5cd698af57806ebf1256f12a"), "Value" : 97 }
{ "_id" : ObjectId("5cd698b357806ebf1256f12b"), "Value" : 69 }
{ "_id" : ObjectId("5cd698b657806ebf1256f12c"), "Value" : 96 }
{ "_id" : ObjectId("5cd698b957806ebf1256f12d"), "Value" : 99 }
অগ্রিগেশন দিয়ে Max এবং Min বের করা
$group স্টেজে _id: null দিয়ে সকল ডকুমেন্ট একসাথে গ্রুপ করি:
> db.maxAndMinDemo.aggregate([
{
"$group": {
"_id": null,
"MaximumValue": { "$max": "$Value" },
"MinimumValue": { "$min": "$Value" }
}
}
]);
আউটপুট:
{ "_id" : null, "MaximumValue" : 99, "MinimumValue" : 69 }
টিপস: আপনি একই পাইপলাইনে $avg, $sum, $first, $last ও ব্যবহার করতে পারেন।