Computer >> Máy Tính >  >> Lập trình >> MongoDB

Làm cách nào để lấy bộ dữ liệu mới nhất từ ​​bộ sưu tập MongoDB dựa trên bản ghi ngày tháng?


Để nhận tập dữ liệu mới nhất từ ​​các bản ghi dữ liệu, hãy sử dụng sort () và -1. Đối với chỉ một dữ liệu duy nhất, tức là tài liệu, hãy sử dụng LIMIT (1). Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> 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ả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo521.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e89a1acb3fbf26334ef6117"), "PurchaseDate" : ISODate("2019-01-10T00:00:00Z"), "ProductName" : "Product-1" }
{ "_id" : ObjectId("5e89a1b9b3fbf26334ef6118"), "PurchaseDate" : ISODate("2020-04-05T00:00:00Z"), "ProductName" : "Product-10" }
{ "_id" : ObjectId("5e89a1c8b3fbf26334ef6119"), "PurchaseDate" : ISODate("2010-05-08T00:00:00Z"), "ProductName" : "Product-4" }
{ "_id" : ObjectId("5e89a1d7b3fbf26334ef611a"), "PurchaseDate" : ISODate("2020-02-21T00:00:00Z"), "ProductName" : "Product-3" }

Sau đây là truy vấn để nhận tập dữ liệu mới nhất dựa trên ngày -

> db.demo521.find().sort({"PurchaseDate": -1}).limit(1);

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e89a1b9b3fbf26334ef6118"), "PurchaseDate" : ISODate("2020-04-05T00:00:00Z"), "ProductName" : "Product-10" }