1. ホーム
  2. mongodb

[解決済み] MongoDB - ページング

2023-06-15 13:27:33

質問

MongoDBを使用する場合、例えばページビューを作成するための特別なパターンはありますか? 例えば、最新の10件の投稿をリストアップし、古い投稿に戻ることができるブログのようなものです。

あるいは、例えばblogpost.publishdateのインデックスで解決し、結果をスキップして制限するのでしょうか?

どのように解決するのですか?

skip+limitを使用することは、パフォーマンスが問題である場合、または大規模なコレクションでページングを行うための良い方法ではありません。skip を使用すると、サーバーは 0 からオフセット (skip) 値までのすべてのドキュメント (またはインデックス値) を走査する必要があります。

最後のページの範囲値を渡す範囲クエリ (+制限) を使用する方がはるかによいです。たとえば、quot;publishdate" でソートしている場合、次のページのデータを取得するためのクエリの基準として、最後の "publishdate" 値を渡すだけでよいのです。