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