gpt4 book ai didi

mongodb - 如何在已排序的 MongoDB 集合中找到一行的行号以计算其百分位数?

转载 作者:可可西里 更新时间:2023-11-01 09:11:52 25 4
gpt4 key购买 nike

我有一个大型 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:...}

关于mongodb - 如何在已排序的 MongoDB 集合中找到一行的行号以计算其百分位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5792645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com