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:嵌套数组的总和的主要内容,如果未能解决你的问题,请参考以下文章

你会如何解决这个问题?使用reduce方法计算此数组中嵌套对象值的总和?

MongoDB 嵌套对象数组后查询

MongoDB 嵌套对象数组后查询

从嵌套数组mongodb中删除元素

从嵌套数组mongodb中删除元素

MongoDB在对象数组中获取嵌套在对象数组中的单个对象