MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Paginacja z MongoDB

Paginację w MongoDB można uzyskać za pomocą kombinacji limit() i skip() .

Załóżmy na przykład, że w naszej aktywnej bazie danych mamy kolekcję o nazwie użytkownicy.

>> db.users.find().limit(3)

Pobiera to dla nas listę pierwszych trzech dokumentów użytkownika. Uwaga, to w zasadzie to samo, co pisanie:

>> db.users.find().skip(0).limit(3)

Przez następne trzy możemy to zrobić:

>> db.users.find().skip(3).limit(3)

Pomija to pierwsze trzy rekordy użytkownika i daje nam następne trzy. Jeśli w Twojej bazie danych jest jeszcze tylko jeden użytkownik, nie martw się; MongoDB jest na tyle sprytny, że zwraca tylko obecne dane i nie ulega awarii.

Można to uogólnić w ten sposób i byłoby to z grubsza równoważne temu, co zrobiłbyś w aplikacji internetowej. Zakładając, że mamy zmienne o nazwie PAGE_SIZE który jest ustawiony na 3 i arbitralny PAGE_NUMBER :

>> db.users.find().skip(PAGE_SIZE * (PAGE_NUMBER - 1)).limit(PAGE_SIZE)

Nie mogę mówić bezpośrednio, jak zastosować tę metodę w Ruby on Rails, ale podejrzewam, że biblioteka Ruby MongoDB ujawnia te metody.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapytania MongoDB o wartości null

  2. MongoDB przy użyciu klauzuli OR w mongoengine

  3. Pobierz wartości jako tablicę elementów po $lookup

  4. Jak wyszukiwać różne wartości w Mongoose?

  5. mongod HostnameCanonicalizationWorker błąd w systemie OS X