Введение

В этой главе описана пагинация запросов в MongoDB, аналогичная использованию пагинации в MYSQL. Пагинация запросов в MongoDB реализуется с помощью функций .limit и .skip курсора.

Тестовые данные

Добавим несколько записей в коллекцию "inventory"

db.inventory.insertMany( [
  { item: "журнал", status: "A", size: { h: 14, w: 21, uom: "см" }, instock: [ { warehouse: "A", qty: 5 } ] },
  { item: "блокнот", status: "A",  size: { h: 8.5, w: 11, uom: "дюйм" }, instock: [ { warehouse: "C", qty: 5 } ] },
  { item: "бумага", status: "D", size: { h: 8.5, w: 11, uom: "дюйм" }, instock: [ { warehouse: "A", qty: 60 } ] },
  { item: "планер", status: "D", size: { h: 22.85, w: 30, uom: "см" }, instock: [ { warehouse: "A", qty: 40 } ] },
  { item: "открытка", status: "A", size: { h: 10, w: 15.25, uom: "см" }, 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 аналогичен limit в SQL, а skip аналогичен смещению в SQL.