あなたの質問を理解するのに大きな問題があります。
ユーザーがページを更新したとき、たとえば 6 時間後にわかることから、そこにあった結果だけでなく、現在ある結果も表示されるはずです。
@JohnnyHKが言うように、MongoDBは自然に「ライブ」ソートを行うため、これが当てはまり、MongoDBの場合、クエリにより正しい結果が返されます。
ここであなたが理解しようとしている問題の 1 つ (質問には明確な説明が必要です) は、データの変更により、最後_id
に見たページ番号など、または情報の多様性さえも正確に表していない可能性があることです。つまり、最後_id
に見たのは、実際には 13 ページの途中です。
この種のものは、ユーザーに長い間AFAKであることを理解させるだけでなく、解決しようとするより多くの時間とパフォーマンスを費やすことになるでしょう.
編集
ああ、あなたが今何をしようとしているのか、ページとリストの最後のアイテムの両方を同時に取得することで卑劣になろうとしていることがわかると思います。残念ながら、SQL と同様にこれは不可能です。並べ替えがそのように機能したとしても、単一のフィールドで一方向にしか並べ替えることができないため、並べ替えは本来のようには機能しません。
ただし、将来の参考のために、関数はカーソルのsort()
関数とまったく同じであり、反復を開始して実際にカーソルを開くまで、sort()
複数回呼び出すとカーソルプロパティが上書きされます。
恐れ入りますが、これは 2 つのクエリで実行する必要があるため、最初にページを取得してからクライアント側 (そのページの最大値を探していると思います) をスクロールして最後のレコードを見つける_id
か、単に 2 番目のクエリを実行して、最後の を取得し_id
ます。それは超高速である必要があります。