【发布时间】:2021-04-24 01:08:17
【问题描述】:
我想根据日期对文档进行分组并获取日期的计数。我在下面的汇总查询, 当我尝试这个查询时,它给出了日期的单独列表
{
"$project": {
"deliveryDate": {
"$dateToString": { "format": "%Y-%m-%d", "date": "$deliveryDate" }
},
"counts": {
"$multiply": [
{ "$size": "$products" },
{
"$sum": 1
}
]
}
}
}
这是我下面的文件,
[{
"id": 1,
"deliveryDate": "13-03-2021",
"products": [{
"name": "Milk",
"qty": 3
},
{
"name": "Egg",
"qty": 10
}
]
},
{
"id": 2,
"deliveryDate": "13-03-2021",
"products": [{
"name": "Milk",
"qty": 5
},
{
"name": "Egg",
"qty": 15
}
]
},
{
"id": 3,
"deliveryDate": "15-03-2021",
"products": [{
"name": "Milk",
"qty": 3
},
{
"name": "Egg",
"qty": 10
}
]
}
]
我基于日期的预期输出应该在数组中添加qty 应该给出日期的计数总和
[
{
"deliveryDate": "13-03-2021",
"count" : 33
},
{
"deliveryDate": "15-03-2021",
"count" : 13
}
]
logic ==> 根据日期获取所有文档并添加数量,计算计数 如果这可能与 mongodb 查询本身有关 提前谢谢!!
【问题讨论】:
标签: node.js mongodb aggregation-framework