【发布时间】:2021-12-05 17:31:47
【问题描述】:
我在 mongodb 中有一组交易数据,如下所示:
[
{timestamp: ISODate("2015-11-10T11:33:41.075Z"), nominal: 25.121},
{timestamp: ISODate("2015-11-22T11:33:41.075Z"), nominal: 25.121},
{timestamp: ISODate("2015-11-23T11:33:41.075Z"), nominal: 26.121},
{timestamp: ISODate("2015-12-03T11:33:41.075Z"), nominal: 30.121},
]
如何使用 mongodb 的aggregate 来计算我每个月的总交易量?
我试过了:
db.getCollection('transaction').aggregate([
{ $group: {_id: "$timestamp", total: {$sum: "$nominal"} } }
])
但它失败了,因为我使用timestamp 而不是month。我不想将month 的另一个字段添加到交易数据中。我想为 $group 管道定制一个返回月份值的函数。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework