我如何在MongoDB中获得百分比

豪尔赫·德拉·维加·卡拉斯科

小组讨论后的示例文档:

[
  {
    "_id": {
      workhour: 1
    },
    totalChats: 156
  },
  {
    "_id": {
      workhour: 0
    },
    totalChats: 36
  }
]

应用群组后的示例文档图像

你好!如何找到这两个对象的百分比?最终结果应为:

[
  {
    "totalChats": 192,
    "workhour0": 19,
    "workhour1": 81
  }
]

谢谢!

谁-假面真灵魂

您需要有至少一个MongoDB版本4.0才能做到这一点,要带到您需要与string结合{workhour : 1}的形式,因此要转换为字符串,您需要使用仅在> =中可用您需要在阶段之后添加以下阶段workhour1workhour11$toString4.0$group

db.collection.aggregate([
    {
      $group: {
        _id: "", // Group without any condition will group all docs
        docs: { $push: { workhour: "$_id.workhour", totalChats: "$totalChats" } // push {workhour :...,totalChats:...} objects to data array
        },
        totalChats: { $sum: "$totalChats" } // Sum-up `totalChats` across all docs
      }
    },
    {
      $project: {
        _id: 0,
        totalChats: 1,
        data: {
          $arrayToObject: { // Converts [{k :..., v:...}, {k :..., v:...}] into {k : v, k:v }
            $map: { // Pushing objects {k:...,v:...} to an array
              input: "$docs",
              in: { k: { $concat: [ "workhour", { $toString: "$$this.workhour" } ] }, v: { $multiply: [ { $divide: [ "$$this.totalChats", "$totalChats" ] }, 100 ] } }
            }
          }
        }
      }
    },
    /** Replace root of doc with newly created object */
    {
      $replaceRoot: { newRoot: { $mergeObjects: [ "$data", { totalChats: "$totalChats" } ] } }
    }
  ])

测试: mongoplayground

参考: 聚合运算符

注意:你应该保持18.75原样,而不是将其转换为1981.2581不产生任何不确定度。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在SQL中划分以获得百分比?

来自分类Dev

如何在sql中获得每个答案的百分比?

来自分类Dev

除以2的整数时,如何在TSQL中获得百分比?

来自分类Dev

如何在Amibroker的回测中获得交易的利润百分比

来自分类Dev

如何在R中的多面环绕图上获得单个图百分比

来自分类Dev

如何在Python中获得RAM使用率百分比?

来自分类Dev

如何在vespa中获得文本匹配百分比?

来自分类Dev

如何在mysql中获得一定百分比的行

来自分类Dev

如何在 Tensorflow Object Detection API 中获得预测值的百分比?

来自分类Dev

如何在节点 js public/uploads/image 中获得质量百分比的图像

来自分类Dev

如何在MongoDB中按日期分组获取数据百分比

来自分类Dev

如何在SQL中设置百分比列?

来自分类Dev

如何在Postgresql中做百分比

来自分类Dev

如何在sprintf中包含百分比符号

来自分类Dev

如何在SQL中取出百分比

来自分类Dev

如何在 PHP 中返回百分比?

来自分类Dev

如何在ssrs中添加百分比列

来自分类Dev

如何在SQL Server 2008中获得当前行与上一行之间的百分比

来自分类Dev

我如何获得重叠值的计数并按最重叠的百分比排序

来自分类Dev

Javascript我将如何获得2个数字的百分比?

来自分类Dev

我如何获得有多少用户喜欢这篇文章的百分比

来自分类Dev

如何根据百分比获得 2 种背景颜色,我选择

来自分类Dev

使用百分比,我如何获得两个日期时间之间的时间?

来自分类Dev

如何获得用户滚动百分比?

来自分类Dev

如何获得取决于列值的百分比?

来自分类Dev

如何获得SSRS矩阵的百分比

来自分类Dev

如何获得电池图标以匹配百分比?

来自分类Dev

如何获得列出现频率的百分比

来自分类Dev

如何获得电池图标以匹配百分比?

Related 相关文章

  1. 1

    如何在SQL中划分以获得百分比?

  2. 2

    如何在sql中获得每个答案的百分比?

  3. 3

    除以2的整数时,如何在TSQL中获得百分比?

  4. 4

    如何在Amibroker的回测中获得交易的利润百分比

  5. 5

    如何在R中的多面环绕图上获得单个图百分比

  6. 6

    如何在Python中获得RAM使用率百分比?

  7. 7

    如何在vespa中获得文本匹配百分比?

  8. 8

    如何在mysql中获得一定百分比的行

  9. 9

    如何在 Tensorflow Object Detection API 中获得预测值的百分比?

  10. 10

    如何在节点 js public/uploads/image 中获得质量百分比的图像

  11. 11

    如何在MongoDB中按日期分组获取数据百分比

  12. 12

    如何在SQL中设置百分比列?

  13. 13

    如何在Postgresql中做百分比

  14. 14

    如何在sprintf中包含百分比符号

  15. 15

    如何在SQL中取出百分比

  16. 16

    如何在 PHP 中返回百分比?

  17. 17

    如何在ssrs中添加百分比列

  18. 18

    如何在SQL Server 2008中获得当前行与上一行之间的百分比

  19. 19

    我如何获得重叠值的计数并按最重叠的百分比排序

  20. 20

    Javascript我将如何获得2个数字的百分比?

  21. 21

    我如何获得有多少用户喜欢这篇文章的百分比

  22. 22

    如何根据百分比获得 2 种背景颜色,我选择

  23. 23

    使用百分比,我如何获得两个日期时间之间的时间?

  24. 24

    如何获得用户滚动百分比?

  25. 25

    如何获得取决于列值的百分比?

  26. 26

    如何获得SSRS矩阵的百分比

  27. 27

    如何获得电池图标以匹配百分比?

  28. 28

    如何获得列出现频率的百分比

  29. 29

    如何获得电池图标以匹配百分比?

热门标签

归档