কম্পিউটার টিউটোরিয়াল

MongoDB-এ প্রতিটি গ্রুপে সর্বোচ্চ মান বের করা

প্রতিটি গ্রুপে (যেমন CountryName) সর্বোচ্চ মান (Marks) বের করতে $group এবং $max ব্যবহার করুন। একটি কালেকশন তৈরি করুন:

> db.demo659.insertOne({Name:"Chris",CountryName:"US","Marks":50});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50724113ea5458c7cf9") }
> db.demo659.insertOne({Name:"David",CountryName:"US","Marks":60});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50724113ea5458c7cfa") }
> db.demo659.insertOne({Name:"Mike",CountryName:"US","Marks":55});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50724113ea5458c7cfb") }
> db.demo659.insertOne({Name:"Chris",CountryName:"UK","Marks":75});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50724113ea5458c7cfc") }
> db.demo659.insertOne({Name:"David",CountryName:"UK","Marks":54});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50724113ea5458c7cfd") }
> db.demo659.insertOne({Name:"Mike",CountryName:"UK","Marks":72});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50824113ea5458c7cfe") }

find() দিয়ে ডকুমেন্ট দেখান:

> db.demo659.find();

আউটপুট:

CountryName অনুযায়ী গ্রুপ করে সর্বোচ্চ Marks বের করার কোয়ারি:

> db.demo659.aggregate( { $group: {
    _id: {CountryName: "$CountryName" },
    'MaxMarks': { $max : "$Marks" }
}})

আউটপুট:

ব্যাখ্যা: $group এ _id অবজেক্ট দিয়ে গ্রুপিং কী তৈরি করা হয়েছে। $max: "$Marks" প্রতিটি গ্রুপের সর্বোচ্চ মান বের করে। পুরো ডকুমেন্ট (নামসহ) পেতে চাইলে $$ROOT বা $first সোর্টের সাথে ব্যবহার করুন।

  1. MongoDB কোয়ারিতে নির্দিষ্ট কলাম সিলেক্ট করা

  2. MongoDB-এ অ্যারে আইটেম গণনা করার পদ্ধতি

  3. MongoDB $match ব্যবহার করে ডেট ম্যাচ করা

  4. MongoDB-এ গড় (Average) এর চেয়ে বড় মান वाले ডকুমেন্ট বের করা