我正尝试使用MongoDB
和pymongo
构建排行榜类型的应用程序,并且该集合的设置非常简单,只需按整数值排序即可。这使得使用sort
和limit
来计算顶部和底部用户相当无足轻重。在已排序的Mongo集合中查找文档的位置
我的问题是如果我想搜索一个位于集合中间的用户。我将如何创建一个能够确定用户在有序集合中的位置的查询?
使用该数据集例如:
{user: 'A', value: 20}
{user: 'B', value: 10}
{user: 'C', value: 5}
{user: 'D', value: 4}
{user: 'E', value: 1}
我将如何构建一个给定的,我们正在寻找{user: 'C'}
查询它不仅返回用户文件,也是用户是3日在有序列表?
下一个问题是我有这个,我怎么也确定用户B
和D
在周围的用户?
我已经知道如何将整个列表拉到我的应用程序中,并通过它快速搜索,但这似乎是对这个问题的错误/昂贵的答案。
多个文件将是可能的......对于定期运行的某种清理工作,如果天真方法证明过于昂贵,我会记住这一点。 – EEP