基于日期记录从 MongoDB 集合获取最新数据集的方法


如果要从数据记录中获取最新数据集,请使用 sort() 和 -1。如果仅针对单个数据,即文档,请使用 LIMIT(1)。让我们创建一个包含文档的集合−

> 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")
}

借助 find() 方法显示集合中的所有文档−

> db.demo521.find();

这将产生以下输出−

{ "_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" }

以下是基于日期获取最新数据集的查询 −

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

这将产生以下输出−

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

更新时间: 13-05-2020

2K+ 浏览

启动您的职业

完成课程以获得认证

开始
广告
© . All rights reserved.