챕터 소개

이 챕터에서는 MongoDB의 페이지네이션 쿼리에 대해 설명하고, MYSQL에서의 페이지네이션 사용과 유사합니다. MongoDB의 페이지네이션 쿼리는 Cursor의 .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의 오프셋과 유사합니다.