Wprowadzenie

Ten rozdział opisuje zapytanie o paginację w MongoDB, podobnie jak paginacja w MYSQL. Zapytanie o paginację w MongoDB jest realizowane za pomocą funkcji .limit i .skip kursora.

Dane testowe

Wstaw kilka elementów danych do kolekcji inventory

db.inventory.insertMany( [
  { item: "dziennik", status: "A", size: { h: 14, w: 21, uom: "cm" }, instock: [ { warehouse: "A", qty: 5 } ] },
  { item: "notes", status: "A",  size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "C", qty: 5 } ] },
  { item: "papier", status: "D", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "A", qty: 60 } ] },
  { item: "kalendarz", status: "D", size: { h: 22.85, w: 30, uom: "cm" }, instock: [ { warehouse: "A", qty: 40 } ] },
  { item: "pocztówka", status: "A", size: { h: 10, w: 15.25, uom: "cm" }, instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
]);

Ograniczenie zwracanych danych

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

Wyjaśnienie:

  • Użyj funkcji limit aby ustawić maksymalną liczbę zwracanych danych.

Paginacja

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

Wyjaśnienie:

  • Ustaw skip aby pominąć określoną ilość danych oraz limit aby ograniczyć liczbę zwracanych danych.
  • limit jest podobne do limit w SQL, a skip jest podobne do offsetu w SQL.