Введение
В этой главе описана пагинация запросов в 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.