【发布时间】:2019-12-22 05:58:24
【问题描述】:
好的,所以我想获取按日期(月/年)添加的项目类型的累积计数
我可以按月/年进行分组并输入...我的数字(总和)给了我那个月的计数...但我之后的是那个月加上之前的所有月份...
这是我目前所拥有的
Things.aggregate([
{
$match: {
'dates.added': {
$ne: null
}
}
},
{
$group: {
_id: {
year: {
$year: '$dates.added'
},
month: {
$month: '$dates.added'
},
type: '$type'
},
}
},
{
$sort: {
'_id.year': -1,
'_id.month': -1,
'_id.type': 1
}
},
{
$limit: 100,
},
])
产生这样的结果
{
"_id" : {
"year" : 2018,
"month" : 9,
"type" : "Train"
},
"number" : 1.0
}
{
"_id" : {
"year" : 2018,
"month" : 9,
"type" : "Car"
},
"number" : 1.0
}
{
"_id" : {
"year" : 2018,
"month" : 9,
"type" : "Boat"
},
"number" : 1.0
}
{
"_id" : {
"year" : 2018,
"month" : 8,
"type" : "Car"
},
"number" : 2.0
}
{
"_id" : {
"year" : 2018,
"month" : 8,
"type" : "Boat"
},
"number" : 2.0
}
{
"_id" : {
"year" : 2018,
"month" : 8,
"type" : "Train"
},
"number" : 1.0
}
或者换一种说法:
Aug-18 Sep-18
Boat: 2 1
Car: 2 1
Train: 1 1
但我追求的是这个(累积)
Aug-18 Sep-18
Boat: 2 3
Car: 2 3
Train: 1 2
【问题讨论】:
标签: mongodb aggregation-framework