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 সেটি উল্টে দেয়। এটি ইন্ডেক্স ছাড়াই কাজ করে কিন্তু বড় ডেটাসেটে পারফরম্যান্স প্রভাবিত হতে পারে।