大規模なMongoDBコレクションでrange based paginationのベストプラクティスに精通していますが、ソート値が非固有フィールドにあるコレクションのページを設定する方法を考え出すのに苦労しています。MongoDB - ユニークでないフィールドに基づくページ設定
たとえば、私は大量のユーザーを集めており、何回か何回か作業した回数のフィールドがあります。このフィールドは基本的に一意ではなく、同じ値を持つ大きな文書グループを持つことができます。
「numTimesDoneSomething」フィールドでソートされた結果を返したいと思います。ここで
は、サンプルデータセットである:
{_id: ObjectId("50c480d81ff137e805000003"), numTimesDoneSomething: 12}
{_id: ObjectId("50c480d81ff137e805000005"), numTimesDoneSomething: 9}
{_id: ObjectId("50c480d81ff137e805000006"), numTimesDoneSomething: 7}
{_id: ObjectId("50c480d81ff137e805000007"), numTimesDoneSomething: 1}
{_id: ObjectId("50c480d81ff137e805000002"), numTimesDoneSomething: 15}
{_id: ObjectId("50c480d81ff137e805000008"), numTimesDoneSomething: 1}
{_id: ObjectId("50c480d81ff137e805000009"), numTimesDoneSomething: 1}
{_id: ObjectId("50c480d81ff137e805000004"), numTimesDoneSomething: 12}
{_id: ObjectId("50c480d81ff137e805000010"), numTimesDoneSomething: 1}
{_id: ObjectId("50c480d81ff137e805000011"), numTimesDoneSomething: 1}
どのように私は、ページあたり2つのレコードを持つ「numTimesDoneSomething」でソートされた、このデータセットを返すでしょうか?
「find({_ id:last_id})」は1つのレコードのみを返しますか? –
検索クエリがlast_idより大きい必要がありますか?あなたの解決策は、新しい挿入のケースもカバーしています+) – cubbuk
@cubbukああ本当の笑: – Sammaye