तारीख फ़ील्ड द्वारा क्रमबद्ध करना
सबसे पुराने (Oldest) और नवीनतम (Youngest/Recent) पोस्ट खोजने के लिए, तारीख फ़ील्ड पर sort() का उपयोग करें और limit(1) लागू करें।
उदाहरण: ISODate के साथ दस्तावेज़ डालना
> db.getOldestAndYoungestPostDemo.insertOne({"UserId":"Larry@123","UserName":"Larry","UserPostDate":new ISODate('2019-03-27 12:00:00')});
{ "acknowledged" : true, "insertedId" : ObjectId("5c9a700f15e86fd1496b38ab") }
> db.getOldestAndYoungestPostDemo.insertOne({"UserId":"Sam@897","UserName":"Sam","UserPostDate":new ISODate('2012-06-17 11:40:30')});
{ "acknowledged" : true, "insertedId" : ObjectId("5c9a703815e86fd1496b38ac") }
> db.getOldestAndYoungestPostDemo.insertOne({"UserId":"David@777","UserName":"David","UserPostDate":new ISODate('2018-01-31 10:45:35')});
{ "acknowledged" : true, "insertedId" : ObjectId("5c9a705e15e86fd1496b38ad") }
> db.getOldestAndYoungestPostDemo.insertOne({"UserId":"Chris@909","UserName":"Chris","UserPostDate":new ISODate('2017-04-14 04:12:04')});
{ "acknowledged" : true, "insertedId" : ObjectId("5c9a708915e86fd1496b38ae") }
सबसे पुराना पोस्ट (आरोही क्रम: 1)
> db.getOldestAndYoungestPostDemo.find().sort({ "UserPostDate": 1 }).limit(1);
आउटपुट: Sam का पोस्ट (2012-06-17) - सबसे पुराना।
नवीनतम पोस्ट (अवरोही क्रम: -1)
> db.getOldestAndYoungestPostDemo.find().sort({ "UserPostDate": -1 }).limit(1);
आउटपुट: Larry का पोस्ट (2019-03-27) - नवीनतम।
मुख्य बिंदु:
sort({ field: 1 })आरोही (सबसे पुराना पहले)।sort({ field: -1 })अवरोही (नवीनतम पहले)।limit(1)केवल पहला परिणाम लौटाता है।- कुशलता के लिए तारीख फ़ील्ड पर इंडेक्स बनाएं:
db.collection.createIndex({ "UserPostDate": 1 })।