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?
Registrandoti e creando un nuovo account potrai usufruire di tutti i servizi messi a disposizione, fare domande, rispondere agli utenti, accumulare punti e diventare un utente riconosciuto come esperto; ricevere la nostra newsletter e molto altro ancora. Il tutto in modo semplice, veloce e soprattutto gratuito. Una volta effettuata la registrazione veloce, potrai completare l'inserimento dei tuoi dati accedendo al tuo profilo.
Crea un AccountHai perso la tua Password? Inserisci l'e-mail (username) con la quale ti sei registrato, e ti invieremo una email con una nuova password che potrai poi cambiare una volta entrato nel tuo profilo.
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?
Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.
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.