我有一个这样的数据结构:
{
"_id": "order1",
"transactions": [
{
"amount": 100,
"type": "payment"
},
{
"amount": -10,
"type": "refund"
}
]
}
我想要获得金额总和,即 100+(-10) = 90。我是 mongodb 的新手。有人可以帮我写查询吗?
最佳答案
您可以将聚合与$unwind
一起使用
.aggregate([
{$unwind:"$transactions"},
{$group: {_id:"$_id", total: {$sum: "$transactions.amount"}}}
])
关于mongodb - 如何在mongodb中获取子集合的聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39850401/