章の紹介
この章では、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のオフセットに類似しています。