$natural এবং limit() ব্যবহার করে লাস্ট N রেকর্ড ফেচ করা
MongoDB-এ প্রাকৃতিক ইনসারশন অর্ডার অনুযায়ী শেষের N টি ডকুমেন্ট পেতে sort({$natural: -1}) সাথে limit() ব্যবহার করা হয়।
সিনট্যাক্স
db.yourCollectionName.find().sort({$natural: -1}).limit(yourValue);
উদাহরণের জন্য ডেটা তৈরি
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"Maxwell"});
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"Carol"});
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"Bob"});
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"Sam"});
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"Robert"});
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"Mike"});
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"Chris"});
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"James"});
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"Jace"});
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"Ramit"});
> db.getLastNRecordsDemo.insertOne({"EmployeeName":"David"});
সব ডকুমেন্ট দেখি:
> db.getLastNRecordsDemo.find().pretty();
শেষ ৭টি রেকর্ড পেতে কোয়েরি
> db.getLastNRecordsDemo.find().sort({$natural: -1}).limit(7);
ফলাফল (সাম্প্রতিক ৭টি):
{
"_id" : ObjectId("5c6ecf8d6fd07954a4890693"), "EmployeeName" : "David"
}
{
"_id" : ObjectId("5c6ecf7d6fd07954a4890692"), "EmployeeName" : "Ramit"
}
{
"_id" : ObjectId("5c6ecf756fd07954a4890691"), "EmployeeName" : "Jace"
}
{
"_id" : ObjectId("5c6ecf6f6fd07954a4890690"), "EmployeeName" : "James"
}
{
"_id" : ObjectId("5c6ecf686fd07954a489068f"), "EmployeeName" : "Chris"
}
{
"_id" : ObjectId("5c6ecf606fd07954a489068e"), "EmployeeName" : "Mike"
}
{
"_id" : ObjectId("5c6ecf596fd07954a489068d"), "EmployeeName" : "Robert"
}
দ্রষ্টব্য: $natural অর্ডার ক্যাপড কালেকশন বা নির্দিষ্ট শার্ডেড এনভায়রনমেন্টে নিশ্চিত নাও হতে পারে। প্রোডাকশনে createdAt টাইমস্ট্যাম্প ফিল্ড রাখা ভালো প্র্যাক্টিস।