【发布时间】:2020-02-06 19:20:22
【问题描述】:
我的数据库的集合如下所示
[{
_id:1,
status:"active",
sale: 4,
createdAt:"2019-10-08 08:46:19"
},
{
_id:2,
status:"inactive",
sale:5,
createdAt:"2019-10-08 06:41:19"
},
{
_id:2,
status:"inactive",
sale:5,
createdAt:"2019-10-08 02:01:19"
}]
我需要按“天”分组。我想要的结果
[{
createdAt:"2019-10-08 02:01:19",
inactive: 2,
active:1,
salesOfActive: 4,
salesOfInactive:10
}]
我没有得到实际结果,我需要任何帮助将不胜感激
我曾尝试过,但不知道如何获得 salesOfActive 和 salesOfInactive每天
{
$group: {
_id: {
day: { $dayOfMonth: "$createdAt" }
},
inActive:{$sum: { status:"inactive"}},
active:{$sum: { status:"active"}},
salesOfActive: { $sum:$sale }
}
}
【问题讨论】:
-
您是否只想让
salesOfActive反映销售字段的总和?如果是这样,你所拥有的应该可以工作。 -
不,我希望总计在“saleOfInactive”中,其中状态为“不活动”,总计在“saleOfActive”中,其中状态为“活动”
-
哦,我明白了。因此,您可能在同一天有多个
inactive或active条目,并且您想知道有多少销售...嗯,您可能需要多个阶段,我会尝试一些事情。
标签: javascript mongodb mongoose mongodb-query aggregation-framework