如何在已排序的 MongoDB 集合中查找行的行号来计算其百分位数?

2023-12-12

我有一个大型 MongoDB 集合,其中包含一个用户 ID 和一个表示该用户随时间推移的总点击次数的计数器。我希望能够计算给定的用户百分位数。

从概念上讲,我想做的是对集合进行排序,然后获取给定用户记录的行号,并将该数字除以集合的总计数:

percentile = row_index / total_rows;

这在 MongoDB 中如何实现?


获取总计数db.yourCollection.count()

然后使用以下方法计算数量较大的记录
db.yourCollection.find({$gte: value}).count()

如果总计数 = 1000,则大于或等于计数 = 950,那么您就得到了 950/1000 - 前 95%

但是,如果您经常在读取模式下使用集合,而很少在写入模式下使用集合,我建议使用 MapReduce 创建新的临时集合以包含记录{_id:..., percent:...}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在已排序的 MongoDB 集合中查找行的行号来计算其百分位数? 的相关文章

  • MongoDb Spring 在嵌套对象中查找

    我正在使用 Spring Data Mongodb 和这样的文档 id ObjectId 565c5ed433a140520cdedd7f attributes 565c5ed433a140520cdedd73 333563851 list
  • mongodb 无法在 ubuntu 18.04 上启动

    我在 Windows 10 上运行 ubuntu 18 04 我在 cli 上运行 mongod mongodb 正常启动 然后我尝试运行 mongo 并收到此错误 MongoDB shell version v4 0 2 connecti
  • MongoDB 2dsphere 索引失败(几何格式错误?)

    我目前正在尝试构建 2dsphere 索引 但创建似乎失败 索引创建失败的文档是有效的 geojson 根据 geojsonlint 据我所知 它遵循 MongoDB 多边形 规则 我将不胜感激任何帮助 因为我无法弄清楚为什么索引创建似乎失
  • MongoDB/PyMongo:如何在 Map 函数中使用点表示法?

    我正在尝试计算每个邮政编码中找到的记录数 在我的 MongoDB 中 嵌入了邮政编码 使用点表示法 它位于 a res z a 代表地址 res 代表住宅 z 代表邮政编码 例如 这工作得很好 db NY count a res z 141
  • 匹配条件和数组中的最新日期

    db chat find pretty limit 3 id ObjectId 593921425ccc8150f35e7662 user1 1 user2 2 messages sender 1 datetime ISODate 2017
  • 非法的break语句(Node.js)

    尝试在 Node js 和 MongoDB 中查找唯一 ID 方法是创建一个 while 循环来查询 MongoDB 中的现有 ID 直到找到唯一值 如果 ID 已被使用 则最后的数字会递增 直到 Mongo 不返回任何内容 一切正常 除了
  • 在恢复 mongodb 转储的单个命令中删除整个数据库

    我正在尝试恢复 mongodb 的目录转储 我在做 mongorestore db mydb drop path to mydb dump 但两者都无法恢复我的转储的状态 即使恢复数据库后 任何新记录仍然可见 但控制台上没有显示错误 我没有
  • 如何在 Mongo 聚合管道的 $unwind 阶段保留零长度值?

    我正在使用聚合管道编写 Mongo 查询 在聚合过程中 我需要 unwind领域之一 但是 我不想要 unwind排除该字段具有零长度数组的条目 因为我仍然需要它们进一步深入管道 我的领域叫做items它是一个对象数组 每个对象包含两个值
  • 按 sum mongodb 分组[重复]

    这个问题在这里已经有答案了 这是我以前的 MySQL 查询 SELECT Count status as amt status FROM users GROUP BY status 这会返回类似的东西 amt status 3 0 210
  • 如何在docker compose中运行mongodb副本集

    我尝试在我的 Mac 中使用 mongodb community 在本地运行 mongodb 副本集MongoDB 文档 https docs mongodb com manual tutorial convert standalone t
  • 如何访问 Pandas DataFrame 中嵌入的 json 对象?

    TL DR 如果 Pandas DataFrame 中加载的字段本身包含 JSON 文档 那么如何以类似 Pandas 的方式使用它们 目前我直接从 Twitter 库转储 json 字典结果 twython https github co
  • 查找聚合中的管道在 mongodb 中不起作用

    我是 mongodb 的新手 所以我希望这不会成为一个非常基本的问题 我做了一些研究 并试图应用我所发现的东西 但有些东西似乎让我忽略了 我有两个以下格式的集合 Shop shopId 1002 shopPosId 10002 descri
  • 在节点中使用mongoosejs更新多条记录

    我在使用 mongoosejs 和 Node js 更新多个记录时遇到问题 由于某种原因 即使有多个匹配 我也只更新一条记录 我还注意到回调在 update 之后不会触发 我没有收到任何错误消息 这里发生了什么 Page find stat
  • Mongodb聚合框架:$group是否使用索引?

    我正在尝试使用聚合框架 match and group阶段 做 group阶段使用索引数据 我正在使用最新的可用 mongodb 版本 2 5 4 group不使用索引数据 来自 mongoDBdocs http docs mongodb
  • 如何在 mongodb 查询中过滤数组

    在 mongodb 中 我有一个包含单个文档的集合 如下所示 id ObjectId 5552b7fd9e8c7572e36e39df StackSummaries StackId arn aws cloudformation ap sou
  • 使用 MongoDB 和 ASP.NET MVC 进行分页的有效方法

    我们正在创建一个应用程序 MongoDB 作为数据库 我们正在使用MongoDB 的官方 C 驱动程序 http docs mongodb org ecosystem drivers csharp 我们有一个包含数千条记录的集合 我们想要创
  • 正则表达式 Spring 数据 mongodb 存储库

    早上好 我正在尝试使用查询注释将正则表达式与 Spring data mongodb 存储库结合起来 我想要的是在我的 mongo 文档的一个字符串属性中搜索一个子字符串 我一直在谷歌和这里寻找 但我没有找到任何优雅的东西 我想知道 Spr
  • Mongodb聚合,如何按间隔标准对文档进行计数?

    我的 MongoDB 文档如下所示 StatCode LoadTime 例如 数据可能如下所示 id StatCode LoadTime 1 200 0 345 2 200 0 234 3 200 0 396 4 200 1 234 5 2
  • 使用mongodb聚合框架按数组长度分组

    我有一个看起来像这样的集合 id id0 name saved things id id1 name saved things id id2 name saved things etc 我想使用 mongodb 的聚合框架来得出一个直方图结
  • Mongo JSON 文档 -> JSON -> BSON

    我正在使用 Node js 构建一个使用 mongodb 的 Web 套接字服务器 我使用 node mongodb native 作为访问 mongodb 的库 当我对数据库中的对象调用 console log sys inspect i

随机推荐