如何计算Mongodb聚合中的字段

用户3782299

我有一个包含这样的条目的文档

{ 
    "_id": ObjectId("5644c495d0807a1750043237"),
    "siteid": "123456"
    "amount": 1.32
}

一些文件有其他金额,例如。"cashbackAmount"

我想要一个sumcount每个金额字段。并非每个文档都包含所有金额字段。

我曾尝试过以下方法

{
    $group: {   
        "_id": "$siteid",
        item2: { "$sum": "$amount" },
        item3: { "$sum": "$totalAmount" },
        item4: { "$sum": "$cashbackAmount" },
        item5: { "$sum": "$unitPrice" },
    }
}  

它给了我总和,但是我不知道如何计算每个金额字段出现的次数。

{ "$sum": 1 } 不起作用,因为这给了我所有具有合计字段之一的所有文档。

DAXaholic

我想你可能想要这样的东西

db.getCollection('amounts').aggregate([
    {
        $project: {
            siteid: 1,
            amount: 1,
            totalAmount: 1,
            unitPrice: 1,
            cashbackAmount: 1,
            amountPresent: {
                $cond: {
                    if: "$amount",
                    then: 1,
                    else: 0
                }
            },
            totalAmountPresent: {
                $cond: {
                    if: "$totalAmount",
                    then: 1,
                    else: 0
                }
            },
            cashbackAmountPresent: {
                $cond: {
                    if: "$cashbackAmount",
                    then: 1,
                    else: 0
                }
            },
            unitPricePresent: {
                $cond: {
                    if: "$unitPrice",
                    then: 1,
                    else: 0
                }
            }
        }
    },
    {
        $group: {   
            "_id": "$siteid",
            amountSum:   { "$sum": "$amount" },
            amountCount: { "$sum": "$amountPresent" },
            totalAmountSum:   { "$sum": "$totalAmount" },
            totalAmountCount: { "$sum": "$totalAmountPresent" },
            cashbackAmountSum:   { "$sum": "$cashbackAmount" },
            cashbackAmountCount: { "$sum": "$cashbackAmountPresent" },
            unitPriceSum:   { "$sum": "$unitPrice" },
            unitPriceCount: { "$sum": "$unitPricePresent" }
        }
    }
])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何计算Mongodb聚合中的字段

来自分类Dev

如何计算MongoDB聚合中的字段?

来自分类Dev

如何在TypeORM中处理mongodb聚合字段

来自分类Dev

如何在Mongodb中聚合不同的数组字段

来自分类Dev

在MongoDB聚合管道中,如何用数组字段替换root?

来自分类Dev

spring mongodb聚合中如何编写单个子id字段

来自分类Dev

如何使用mongodb聚合计算数组字段上的百分比?

来自分类Dev

使用聚合 mongodb 计算集合中具有数据的字段数

来自分类Dev

在MongoDB聚合中合并数组字段

来自分类Dev

MongoDB聚合项目查找中的特定字段

来自分类Dev

在MongoDB聚合中,如何将空值放在单独的字段中,将其他字段放在不同的字段中?

来自分类Dev

如何计算mongodb spring中特定字段的平均值?

来自分类Dev

如何计算mongodb集合中特定字段的实例

来自分类Dev

如何计算 mongodb 中总和(数组字段)的乘积?

来自分类Dev

如何在mongodb聚合$ project操作中包括现有字段

来自分类Dev

如何在mongoDB中的聚合过滤器中比较两个字段

来自分类Dev

如何使用聚合检查MongoDB数据库中的所有文档的特定字段的最新值?

来自分类Dev

MongoDB聚合:如何在MongoDB聚合中应用分页

来自分类Dev

如何在 Kibana (5.4.0) 聚合期间计算字段之间的比率?

来自分类Dev

如何使用MongoDB计算每日平均字段?

来自分类Dev

mongodb如何使年龄字段总和不计算

来自分类Dev

如何计算字段中的数量

来自分类Dev

计算mongodb字段中的对象数

来自分类Dev

如何使用MongoDb聚合框架计算每日记录

来自分类Dev

Mongodb聚合,如何合并或合并字段然后计数

来自分类Dev

MongoDB聚合:如何在结果中提取字段

来自分类Dev

Mongodb:如何使用聚合在嵌套字段上建立排名

来自分类Dev

一些MongoDB聚合时如何保留旧字段?

来自分类Dev

Mongodb聚合,如何合并或合并字段然后计数

Related 相关文章

  1. 1

    如何计算Mongodb聚合中的字段

  2. 2

    如何计算MongoDB聚合中的字段?

  3. 3

    如何在TypeORM中处理mongodb聚合字段

  4. 4

    如何在Mongodb中聚合不同的数组字段

  5. 5

    在MongoDB聚合管道中,如何用数组字段替换root?

  6. 6

    spring mongodb聚合中如何编写单个子id字段

  7. 7

    如何使用mongodb聚合计算数组字段上的百分比?

  8. 8

    使用聚合 mongodb 计算集合中具有数据的字段数

  9. 9

    在MongoDB聚合中合并数组字段

  10. 10

    MongoDB聚合项目查找中的特定字段

  11. 11

    在MongoDB聚合中,如何将空值放在单独的字段中,将其他字段放在不同的字段中?

  12. 12

    如何计算mongodb spring中特定字段的平均值?

  13. 13

    如何计算mongodb集合中特定字段的实例

  14. 14

    如何计算 mongodb 中总和(数组字段)的乘积?

  15. 15

    如何在mongodb聚合$ project操作中包括现有字段

  16. 16

    如何在mongoDB中的聚合过滤器中比较两个字段

  17. 17

    如何使用聚合检查MongoDB数据库中的所有文档的特定字段的最新值?

  18. 18

    MongoDB聚合:如何在MongoDB聚合中应用分页

  19. 19

    如何在 Kibana (5.4.0) 聚合期间计算字段之间的比率?

  20. 20

    如何使用MongoDB计算每日平均字段?

  21. 21

    mongodb如何使年龄字段总和不计算

  22. 22

    如何计算字段中的数量

  23. 23

    计算mongodb字段中的对象数

  24. 24

    如何使用MongoDb聚合框架计算每日记录

  25. 25

    Mongodb聚合,如何合并或合并字段然后计数

  26. 26

    MongoDB聚合:如何在结果中提取字段

  27. 27

    Mongodb:如何使用聚合在嵌套字段上建立排名

  28. 28

    一些MongoDB聚合时如何保留旧字段?

  29. 29

    Mongodb聚合,如何合并或合并字段然后计数

热门标签

归档