我有两个约会,我需要在这些日期之间获得所有日子(2018年3月1日| 2018年3月2日......)。我需要在文件上得到一笔金额。 例如,
[
{id:1, date: 1519833600, type: "sms", amount: 130.00},
{id:4, date: 1519833600, type: "sms", amount: 130.00},
{id:2, date: 1519920000, type: "chat", amount: 480.00},
{id:3, date: 1519920000, type: "sms", amount: 130.00},
]
日期为3月1日至3月6日的结果将是,
[
{date: "Mar 1, 2018", sms: 260.00, chat: 0},
{date: "Mar 2, 2018", sms: 130.00, chat: 480},
{date: "Mar 3, 2018", sms: 0, chat: 0},
{date: "Mar 4, 2018", sms: 0, chat: 0},
{date: "Mar 5, 2018", sms: 0, chat: 0},
{date: "Mar 6, 2018", sms: 0, chat: 0},
]
我尝试使用$ project但我没有成功。你能给我一个样品管道吗?我真的不善于聚合。
根据要求,这是我的尝试:
[
{
$match: {gte: <date>, lt: <date>},
},
{
$group: {
_id: null,
sms: { $sum: "$amount"}
}
}
]
我不知道如何将总金额分成不同的类型(例如,短信:400,聊天:300)。然后我不知道如何按日期(3月1日,2月2日)获得它。