gpt4 book ai didi

具有最大日期的 mongodb 聚合框架查询

转载 作者:可可西里 更新时间:2023-11-01 09:36:53 25 4
gpt4 key购买 nike

我很少有这样的记录

userid purchased  brand
1 2012-1-21 honda
1 2013-1-1 toyota
1 2013-2-30 mercedez

2 2013-1-1 honda
2 2012-1-1 toyota
2 2013-12-13 mercedez

我想获取最大购买日期的用户记录。喜欢关注

1      2013-2-30  mercedez
2 2013-12-13 mercedez

我正在尝试使用 mongodb 聚合框架工作,但在正确查询时遇到问题。

db.carsrecord.aggregate([{"$match" :{"userid":{"$in":[1,2,3,11]}}} ,
{"$group":{"_id": {"uid":"$userid"},timecreated:{"$max":"$purchased" }}} ])

它返回给我正确的 hid 和时间但不返回汽车品牌。

"result" : [
{
"_id" : {
"uid" : 1
},
"timecreated" : ISODate("2013-10-03T20:01:45.366Z")
}
],
"ok" : 1

谢谢

最佳答案

你必须使用 $first 运算符,检查这个问题和我的解释答案:Get last documents with a distinct criteria

正确的代码是:

db.carsrecord.aggregate(
[{"$match" :{"userid":{"$in":[1,2,3,11]}}} ,
{"$sort": {userid:1, purchased:-1}},
{"$group":{"_id":
{ "uid":"$userid" },
"timecreated":{"$first":"$purchased" },
"brand":{"$first":"$brand"}}}
])

关于具有最大日期的 mongodb 聚合框架查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19181069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com