Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Lấy dữ liệu mới nhất từ collection MongoDB dựa trên trường ngày

Để 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ằng limit(N). Để lấy cũ nhất, dùng sort({"PurchaseDate": 1}) (tăng dần).