章の紹介

この章では、MongoDBのページネーションクエリについて説明します。これは、MYSQLでのページネーションの使用方法に類似しています。MongoDBのページネーションクエリは、カーソルの.limitおよび.skip関数を使用して実装されています。

テストデータ

いくつかのデータをインベントリコレクションに挿入します

db.inventory.insertMany( [
  { item: "journal", status: "A", size: { h: 14, w: 21, uom: "cm" }, instock: [ { warehouse: "A", qty: 5 } ] },
  { item: "notebook", status: "A",  size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "C", qty: 5 } ] },
  { item: "paper", status: "D", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "A", qty: 60 } ] },
  { item: "planner", status: "D", size: { h: 22.85, w: 30, uom: "cm" }, instock: [ { warehouse: "A", qty: 40 } ] },
  { item: "postcard", status: "A", size: { h: 10, w: 15.25, uom: "cm" }, instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
]);

戻り値の制限

db.inventory.find({}).limit(5)

説明:

  • limit関数を使用して、戻されるデータの最大数を設定します。

ページネーション

db.inventory.find({}).limit(5).skip(2)

説明:

  • skipを設定して一定量のデータをスキップし、limitを設定して戻されるデータの数を制限します。
  • limitはSQLのlimitと似ており、skipはSQLのオフセットに類似しています。