0

無限スクロールの REST API 呼び出しを実行する必要があります。私は一般的なアプローチをとっていますが、達成しようとしていることの適切な構文を見つけることができないようです。基本的に、Web アプリは、投稿のリストを取得するための呼び出しを私に送信します。これは簡単なことです。今、ユーザーは私がロードした最初の 100 件を超えてスクロールしました。MongoCursorでは、中断したところから開始するに はどうすればよいでしょうか。

私はアプリを送信し、int彼らはそれを返し、私はただします$cursor->find()->skip($x)か?

どういうわけかアプリにカーソルを送信し、さらに結果の準備ができたらカーソルを送り返し、再接続するだけで続行することを考えていますか?

このチュートリアルを見つけました - http://artsy.github.io/blog/2013/02/15/infinite-scroll-with-mongodb/しかし、送信しているパラメーターとその理由を把握できないようです?

助けてくれてありがとう!

ネイサン

4

1 に答える 1

0

このチュートリアルを見つけました - http://artsy.github.io/blog/2013/02/15/infinite-scroll-with-mongodb/ しかし、送信しているパラメーターとその理由を把握できないようです?

ページネーションと無限スクロールは、あなたが引用したブログ投稿で示されている範囲クエリを使用して実装するのが最適です。Skip と limit は概念的に単純で、数ページしか処理しない場合は実際には問題ありませんが、ページ数が数百に増えるとパフォーマンスが大幅に低下し始めます。

スキップを伴うクエリ (できればインデックス付き) を発行すると、MongoDB は最初の結果に移動し、「スキップ」回数だけ進む必要があります。インデックス付きクエリの場合、これはインデックスをウォークすることを意味し、完全にメモリ内にない可能性があります。これを、skip を使用しない範囲クエリと比較してください。ここでは、条件が最後に確認したデータよりも多いまたは少ないデータを要求します。MongoDB は最初の結果にジャンプすることができ、"制限" ドキュメントを反復処理するだけで済みます。

次の回答とブログ投稿で、この件について詳しく説明しています。

于 2013-08-19T17:34:20.533 に答える