MongoDB:嵌套数组的总和

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB:嵌套数组的总和相关的知识,希望对你有一定的参考价值。

我有这样的数据库结构:

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

]

我试过这个无济于事。

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

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

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

答案

您可以尝试以下聚合

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

以上是关于MongoDB:嵌套数组的总和的主要内容,如果未能解决你的问题,请参考以下文章