সর্বশেষ N রেকর্ড পাওয়া: sort() + limit()
MongoDB-এ নতুন যোগ হওয়া রেকর্ডগুলো (সাধারণত _id বা টাইমস্ট্যাম্প অনুযায়ী) সর্ট করে নির্দিষ্ট সংখ্যায় লিমিট করতে sort() এবং limit() চেইন করা হয়।
নমুনা ডেটা তৈরি
> db.demo454.insertOne({ "ClientName": "Chris" })
> db.demo454.insertOne({ "ClientName": "John" })
> db.demo454.insertOne({ "ClientName": "Bob" })
> db.demo454.insertOne({ "ClientName": "David" })
> db.demo454.insertOne({ "ClientName": "Mike" })
সমস্ত ডকুমেন্ট দেখানো
> db.demo454.find()
আউটপুট (ইনসারশন অর্ডার):
{ "_id": ObjectId("..."), "ClientName": "Chris" }
{ "_id": ObjectId("..."), "ClientName": "John" }
{ "_id": ObjectId("..."), "ClientName": "Bob" }
{ "_id": ObjectId("..."), "ClientName": "David" }
{ "_id": ObjectId("..."), "ClientName": "Mike" }
সর্বশেষ ৩টি রেকর্ড (ClientName ডিসেন্ডিং) পাওয়া
> db.demo454.find().sort({ ClientName: -1 }).limit(3)
ফলাফল:
{ "_id": ObjectId("..."), "ClientName": "Mike" }
{ "_id": ObjectId("..."), "ClientName": "John" }
{ "_id": ObjectId("..."), "ClientName": "David" }
ব্যাখ্যা
sort({ ClientName: -1 }): ClientName ডিসেন্ডিং অর্ডারে সর্ট করে (Z-A)limit(3): শুধু প্রথম ৩টি ডকুমেন্ট রিটার্ন করে- গুরুত্বপূর্ণ: রিয়েল-টাইম "লেটেস্ট" রেকর্ডের জন্য
_id(ObjectId-তে টাইমস্ট্যাম্প থাকে) বাcreatedAtফিল্ড দিয়ে সর্ট করুন:sort({ _id: -1 }) - পেইনেশন করতে
skip()দিয়ে পেজ নম্বর অনুযায়ী ডেটা নেওয়া যায়
নোট: উদাহরণে ClientName স্ট্রিং দিয়ে সর্ট করা হয়েছে, যা প্রাকৃতিক "লেটেস্ট" নয়।