Mongooseは、MongoDBを操作するためのNode.jsのオブジェクトモデリングツールです。Mongooseを使用してデータを集計し、ページネーションを実装する方法を以下に示します。
-
ページネーションの基本的な実装:
- Mongooseの
Model.find()
メソッドを使用して、データを検索します。 skip()
とlimit()
メソッドを使用して、ページネーションを実現します。- 例えば、以下のコードは、2ページ目の結果を10件ずつ表示する方法を示しています。
const page = 2; const limit = 10; const skip = (page - 1) * limit; Model.find() .skip(skip) .limit(limit) .exec((err, results) => { // 結果の処理 });
- Mongooseの
-
集計パイプラインを使用したページネーション:
- Mongooseの
Model.aggregate()
メソッドを使用して、集計パイプラインを構築します。 skip
とlimit
ステージを使用して、ページネーションを設定します。- 以下のコードは、年齢が30以上のユーザーを集計し、2ページ目の結果を10件ずつ表示する例です。
const page = 2; const limit = 10; const skip = (page - 1) * limit; Model.aggregate([ { $match: { age: { $gte: 30 } } }, { $skip: skip }, { $limit: limit } ]).exec((err, results) => { // 結果の処理 });
- Mongooseの