Để lấy tập dữ liệu mới nhất dựa trên trường ngày, sử dụng sort() với -1 (giảm dần) và limit(). Tạo collection:
> db.demo521.insertOne({"PurchaseDate":new ISODate("2019-01-10"),"ProductName":"Product-1"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e89a1acb3fbf26334ef6117") }
> db.demo521.insertOne({"PurchaseDate":new ISODate("2020-04-05"),"ProductName":"Product-10"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e89a1b9b3fbf26334ef6118") }
> db.demo521.insertOne({"PurchaseDate":new ISODate("2010-05-08"),"ProductName":"Product-4"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e89a1c8b3fbf26334ef6119") }
> db.demo521.insertOne({"PurchaseDate":new ISODate("2020-02-21"),"ProductName":"Product-3"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e89a1d7b3fbf26334ef611a") }
Hiển thị tất cả:
> db.demo521.find();
Kết quả:
Lấy 1 tài liệu mới nhất (PurchaseDate lớn nhất):
> db.demo521.find().sort({"PurchaseDate": -1}).limit(1);Kết quả - Product-10 ngày 2020-04-05 là mới nhất:
Mở rộng: Để lấy top N mới nhất, thay
limit(1)bằnglimit(N). Để lấy cũ nhất, dùngsort({"PurchaseDate": 1})(tăng dần).