【发布时间】:2019-06-22 18:27:07
【问题描述】:
在 MongoDB 上,如何从该列表中选择日期最近的元素:
[{
"_id" : ObjectId("5c5064f39d0c4b52cf6d1d55"),
"Date" : "12-09-2018",
"Type" : "A",
"Value" : 73650.14
},
{
"_id" : ObjectId("5c5064f39d0c4b52cf6d1d15"),
"Date" : "12-09-2018",
"Type" : "B",
"Value" : 73650.14
},
{
"_id" : ObjectId("5c5064f39d0c4b52cf6d1d58"),
"Date" : "13-09-2018",
"Type" : "A",
"Value" : 80000
},
{
"_id" : ObjectId("5c5064f39d0c4b52cf6d1d56"),
"Date" : "13-09-2018",
"Type" : "B",
"Value" : 800000
}]
为了获得这个列表:
[{
"_id" : ObjectId("5c5064f39d0c4b52cf6d1d58"),
"Date" : "13-09-2018",
"Type" : "A",
"Value" : 80000
},
{
"_id" : ObjectId("5c5064f39d0c4b52cf6d1d56"),
"Date" : "13-09-2018",
"Type" : "B",
"Value" : 800000
}]
这可能很容易,但尽管进行了许多研究,但我还是无法做到。我尝试使用 $group 运算符来实现它,但我从未找到如何推送所需的值(要么我只得到 Date 要么没有任何过滤器的所有元素)。
我是 Mongo DB 的新手,非常感谢您的帮助。
谢谢
【问题讨论】:
-
db.collection.find({ }).sort({ Date: -1 }) -
@Ashh 如果你把这个写成答案,我可以给你一个赞成票......
标签: mongodb date nosql-aggregation grouped-collection-select