Condividi
Paginazione con MongoDB
Sto iniziando ad usare MongoDB come backend per i miei applicativi, sono un newbie del nosql e vorrei capire come fare la paginazione dei risultati di dati, esiste una istruzione specifica per la pagination?
In Corso
3
MongoDB
06-06-2018
1 Risposta
1013 Visite
+1
Risposte ( 1 approvate )
Come succede anche nei database relazionali per fare la paginazione dei 'records' devi avvalerti di due calusole che ti consentano uno di 'limitare' il numero di risultati ritornati e secondo di 'saltare' (slittare) ai successivi record non ancora selezionati. Ad esempio in MySql e Postgres si usano
LIMIT
edOFFSET
per la paginazione, e la stessa cosa accade in MongoDB usando le funzionilimit()
eskip()
.Supponiamo tu abbia una collection di utenti chiamata 'users', eccoti un esempio di come paginarla
questa ti ritorna i primi 3 utenti della lista, ed equivale a scrivere
avendo impostato ad es. il page_size a 3 per i successivi 3 utenti (seconda pagina) avrai quindi
Quindi volendo automatizzare queste query per poterne realizzare una paginazione andiamo a definire le seguenti variabili:
e avendo il numero di pagina da visualizzare (ad es. prelevandolo dalla query string) puoi ottenere facilmente gli elementi da visualizzare per quella data pagina così:
Le 'query' fatte a MongoDB per la paginazione come vedi sono molto semplici e a seconda del linguaggio di programmazione usato fare il resto suppongo non sia un problema.