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

MongoDB-এ সর্বোচ্চ মার্কস বিশিষ্ট ডকুমেন্ট খুঁজে বের করা

MongoDB-এ সর্ট এবং লিমিট ব্যবহার করে সর্বোচ্চ মান বের করা

সর্বোচ্চ মান বিশিষ্ট ডকুমেন্ট পেতে sort() নিবৃত্ত ক্রমে (descending) এবং limit(1) ব্যবহার করা সবচেয়ে সহজ এবং দক্ষ পদ্ধতি।

নমুনা ডেটা তৈরি

> db.demo241.insertOne({"Marks":67});
> db.demo241.insertOne({"Marks":89});
> db.demo241.insertOne({"Marks":78});

সকল ডকুমেন্ট দেখানো

> db.demo241.find();

আউটপুট:

{ "_id" : ObjectId(...), "Marks" : 67 }
{ "_id" : ObjectId(...), "Marks" : 89 }
{ "_id" : ObjectId(...), "Marks" : 78 }

সর্বোচ্চ মার্কস খুঁজে বের করা

> db.demo241.find().sort({Marks: -1}).limit(1);

আউটপুট:

{ "_id" : ObjectId(...), "Marks" : 89 }

ব্যাখ্যা

  • sort({Marks: -1}) — মার্কস অনুযায়ী অবরোহ ক্রমে সর্ট করে (সর্বোচ্চ প্রথমে)
  • limit(1) — শুধু প্রথম ডকুমেন্ট রিটার্ন করে

Aggregation Pipeline বিকল্প

বড় ডেটাসেটে Aggregation Pipeline আরও দক্ষ হতে পারে:

> db.demo241.aggregate([
    { $sort: { Marks: -1 } },
    { $limit: 1 }
]);

একাধিক টপ রেকর্ড পেতে

> db.demo241.find().sort({Marks: -1}).limit(3); // টপ ৩

ইন্ডেক্সের গুরুত্ব

সর্ট অপারেশন দ্রুত করতে Marks ফিল্ডে ইন্ডেক্স তৈরি করুন:

> db.demo241.createIndex({ Marks: -1 });

ইন্ডেক্স ছাড়া বড় কালেকশনে সর্ট মেমরি লিমিট (32MB) ছাড়াতে পারে।

  1. MongoDB Group কোয়েরি ব্যবহার করে ডকুমেন্টে পুনরাবৃত্ত ماركের কাউন্ট বের করা

  2. MongoDB অ্যাগ্রিগেশন দিয়ে সবচেয়ে কম মার্কসuage वाले দুটি ডকুমেন্ট বের করা

  3. MongoDB-তে $or অপারেটর ব্যবহার করে একাধিক শর্তে ডকুমেন্ট বের করা

  4. MongoDB-এ ফর্মুলা দিয়ে কালেকশনের সব ডকুমেন্টের ফিল্ড আপডেট করা