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

MongoDB Aggregate-এ $sort ব্যবহার করে সর্ট করা

MongoDB Aggregate Pipeline-এ $sort স্টেজ ব্যবহার

aggregate() পাইপলাইনে $sort স্টেজ ব্যবহার করে ডকুমেন্টগুলো কোনো ফিল্ড অনুযায়ী অ্যাসেন্ডিং (1) বা ডিসেন্ডিং (-1) ক্রমে সাজানো যায়। বড় ডেটাসেটে এটি কার্যকর।

উদাহরণ: ডেটা ইনসার্ট

> db.demo164.insertOne({"StudentAge":24});
{ "acknowledged" : true, "insertedId" : ObjectId("5e36883d9e4f06af551997c8") }
> db.demo164.insertOne({"StudentAge":25});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3688409e4f06af551997c9") }
> db.demo164.insertOne({"StudentAge":22});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3688429e4f06af551997ca") }
> db.demo164.insertOne({"StudentAge":21});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3688439e4f06af551997cb") }

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

> db.demo164.find();

আউটপুট:

{ "_id" : ObjectId("5e36883d9e4f06af551997c8"), "StudentAge" : 24 }
{ "_id" : ObjectId("5e3688409e4f06af551997c9"), "StudentAge" : 25 }
{ "_id" : ObjectId("5e3688429e4f06af551997ca"), "StudentAge" : 22 }
{ "_id" : ObjectId("5e3688439e4f06af551997cb"), "StudentAge" : 21 }

Aggregate $sort কোয়ারি (StudentAge ডিসেন্ডিং)

> db.demo164.aggregate([{ $sort : { StudentAge : -1 } }]);

আউটপুট:

{ "_id" : ObjectId("5e3688409e4f06af551997c9"), "StudentAge" : 25 }
{ "_id" : ObjectId("5e36883d9e4f06af551997c8"), "StudentAge" : 24 }
{ "_id" : ObjectId("5e3688429e4f06af551997ca"), "StudentAge" : 22 }
{ "_id" : ObjectId("5e3688439e4f06af551997cb"), "StudentAge" : 21 }

ব্যাখ্যা

  • {$sort: {StudentAge: -1}} — -1 মানে ডিসেন্ডিং (বড় থেকে ছোট), 1 মানে অ্যাসেন্ডিং।
  • aggregate() পাইপলাইনে একাধিক স্টেজ চেইন করা যায় (match, project, group, sort, limit ইত্যাদি)।
  • সর্টের আগে $match দিয়ে ফিল্টার করলে পারফরম্যান্স ভালো হয়।

নোট: শেলে find().sort({StudentAge:-1}) ও কাজ করে, কিন্তু এggregেশন পাইপলাইনে আরও জটিল লজিক (গ্রুপিং, ক্যালকুলেশন) যোগ করা যায়।

  1. MongoDB-তে সাবডকুমেন্ট কোয়ারি করুন অ্যারে ফিল্টার হিসেবে ব্যবহার করে

  2. MongoDB-এ save() মেথডের সঠিক ব্যবহার

  3. MongoDB-এ $type অপারেটর ব্যবহার করে টাইপ ভিত্তিক কোয়েরি

  4. MongoDB-এ ন্যাচারেল অর্ডার (Natural Order) দিয়ে সর্ট করা ($natural)