gpt4 book ai didi

mongodb - 我如何获得记录在 mongo 查询/集合中的位置?

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

例如,我在 MongoDB 中有一个排行榜。以下查询将获取排行榜的一部分:

db.leaderboard.find().sort({ score: -1 }).limit(30)

如果我有一个排行榜条目,其 _ida 会怎样:

db.leaderboard.find({ _id: 'a' })

我将如何找到该记录在排行榜上的位置?

最佳答案

这很容易。首先,找到目标记录的分数:

db.leaderboard.find({ _id: 'a' }, {score : 1, _id : 0});

然后统计所有得分大于目标得分的文档:

db.leaderboard.find({ score : { $gt : 100 /* targetScore */ } }).count();  

您的位置将为计数 +1。一个警告:如果有多个文档的分数与目标分数相同,您的位置可能会“错误”。

示例:当您使用 sort 对文档进行排序时,您有 3 个文档。假设他们处于 7,8 和 9“位置”。您的文档 _id : 'a' 可以位于这些“位置”中的任何一个。

关于mongodb - 我如何获得记录在 mongo 查询/集合中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24016559/

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