【发布时间】:2019-03-30 21:00:31
【问题描述】:
我是 Mongo Db 的新手,希望对此查询有所帮助。我的 mongodb 数据横断相同的 ids 数量基于 create_date 如何显示每个横断 id 第一条记录
db.collection.aggregate([{
{"$project": {
"RESOURCE_ID": 1,
"TRANSACTION_ID":1,
"CREATE_DATE":1
}}
])
输出:
RESOURCE_ID TRANSACTION_ID CREATE_DATE
1 "100-101" "0:ffff0a0a0983UY:-142" "Fri Sep 07 16:51:30IST2018"
2 "100-101" "0:ffff0a0a0983UY:-142" "Fri Sep 07 16:51:29IST2018"
3 "100-101" "0:ffff0a0a0983UY:-142" "Fri Sep 07 16:51:29IST2018"
4 "100-102" "0:ffff0a0a0983UY:-111" "Fri Sep 06 16:51:29IST2018"
5 "100-102" "0:ffff0a0a0983UY:-111" "Fri Sep 06 16:51:28IST2018"
预期输出:
RESOURCE_ID TRANSACTION_ID CREATE_DATE
1 "100-101" "0:ffff0a0a0983UY:-142" "Fri Sep 07 16:51:30IST2018"
2 "100-102" "0:ffff0a0a0983UY:-111" "Fri Sep 06 16:51:29IST2018"
【问题讨论】:
-
到目前为止你尝试过什么?
-
使用 $project iam 获取 RESOURCE_ID 和 TRANSACTION_ID 和 CREATE_DATE 我是 Mongo Db 开发人员的新手,我不知道每个 teransection id 第一个记录是基于 cerate 日期@Hagai
-
你能把你尝试过的完整查询和它给你的结果放在这里吗?我会尽力提供帮助
-
db.collection.aggregate([{ {"$project": { "RESOURCE_ID": 1, "TRANSACTION_ID":1, "CREATE_DATE":1 }}, ]) @Hagai
-
试试
db.collection.aggregate([ {$sort:{'CREATE_DATE':-1}}, {$group:{ _id: '$RESOURCE_ID',doc:{$first:'$$ROOT'}}}, {$replaceRoot:{newRoot:"$doc"}} ])
标签: mongodb mongoose aggregation-framework aggregate-functions