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

MongoDB-তে ন্যাচারেল অর্ডার দিয়ে সর্ট করা এবং আইটেমগুলো রিভার্স করা

MongoDB-তে $natural অপারেটরটি ডকুমেন্টগুলো ন্যাচারেল অর্ডারে (যে ক্রমে সেগুলো ইনসার্ট হয়েছে) রিটার্ন করে। আইটেমগুলো রিভার্স অর্ডারে দেখতে হলে $natural: -1 ব্যবহার করতে হয়।

উদাহরণ: কালেকশন তৈরি এবং ডকুমেন্ট ইনসার্ট করা

প্রথমে demo710 নামে একটি কালেকশন তৈরি করে চারটি ডকুমেন্ট ইনসার্ট করি:

> db.demo710.insertOne({id: 101, Name: "Robert"});
> db.demo710.insertOne({id: 102, Name: "Carol"});
> db.demo710.insertOne({id: 103, Name: "Mike"});
> db.demo710.insertOne({id: 104, Name: "Sam"});

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

find() মেথড ব্যবহার করে সব ডকুমেন্ট দেখানো যায়:

> db.demo710.find();

আউটপুট:

{ "_id" : ObjectId("..."), "id" : 101, "Name" : "Robert" }
{ "_id" : ObjectId("..."), "id" : 102, "Name" : "Carol" }
{ "_id" : ObjectId("..."), "id" : 103, "Name" : "Mike" }
{ "_id" : ObjectId("..."), "id" : 104, "Name" : "Sam" }

ন্যাচারেল অর্ডার রিভার্স করে সর্ট করা

নিচের কোয়েরি দিয়ে ডকুমেন্টগুলো ইনসারশন অর্ডারের উল্টো ক্রমে সর্ট করা যায়:

> db.demo710.find().sort({ $natural: -1 });

আউটপুট:

{ "_id" : ObjectId("..."), "id" : 104, "Name" : "Sam" }
{ "_id" : ObjectId("..."), "id" : 103, "Name" : "Mike" }
{ "_id" : ObjectId("..."), "id" : 102, "Name" : "Carol" }
{ "_id" : ObjectId("..."), "id" : 101, "Name" : "Robert" }

নোট: $natural: 1 (ডিফল্ট) ইনসারশন অর্ডার অনুযায়ী সর্ট করে, আর $natural: -1 সেটি উল্টে দেয়। এটি ইন্ডেক্স ছাড়াই কাজ করে কিন্তু বড় ডেটাসেটে পারফরম্যান্স প্রভাবিত হতে পারে।

  1. MongoDB-এ নাম দিয়ে ইউজার খুঁজে বের করা

  2. MongoDB অগরিগেশনে ডকুমেন্ট অ্যাসেন্ডিং অর্ডারে সর্ট করা

  3. MongoDB-এ অ্যারে আইটেম গ্রুপ করে একই প্রাইসের প্রোডাক্ট কাউন্ট করা

  4. MongoDB-তে $group-এ সর্ট করে প্রথম দুটি ফিল্ড বের করা ($first + $$ROOT)