【发布时间】:2020-07-19 15:31:24
【问题描述】:
我有这个活动行集合的例子
{
"_id" : ObjectId("5ec90b5258a37c002509b27d"),
"user_hash" : "asdsc4be9fe7xxx",
"type" : "Expense",
"name" : "Lorem",
"amount" : 10000,
"date_created" : 1590233938
}
我想用这个聚合代码收集活动的总金额
db.activities.aggregate(
[
{
$group:
{
_id: "$id",
total: { $sum: "$amount" }
}
},
{
$match: { type: "Expense", "user_hash": "asdsc4be9fe7xxx" }
}
]
)
预期结果:{_id: null, total: xxxxx }
实际结果:
有什么解决办法吗?提前谢谢你
【问题讨论】:
-
您必须将
$match阶段放在$group阶段之前。在$group阶段之后。剩下的唯一字段是_id和total
标签: javascript mongodb