MongoDB:嵌套数组的总和

问题描述 投票:1回答:1

我有这样的数据库结构:

users = [
    {
        firstName: 'John',
        transactions: [transaction]
    },
    {
        firstName: 'Jane',
        transactions: [transaction]
    },

]

我试过这个无济于事。

users.aggregate([
    { $match: { transactions: { $exists: true }}},
    { $project: { count: { $size: '$transactions '}}},
    { $group: { total: { $sum: '$count'}}}
]);

对数据库中所有用户的事务总数进行求和的正确方法是什么?

我尝试使用聚合,但我无法让它正常工作。任何帮助将非常感激。

mongodb mongoose nosql
1个回答
0
投票

您可以尝试以下聚合

users.aggregate([
  { "$match": { "transactions": { "$exists": true }}},
  { "$project": { "count": { "$size": "$transactions" }}},
  { "$group": {
    "_id": null,
    "total": { "$sum": "$count" }
  }}
])
© www.soinside.com 2019 - 2024. All rights reserved.