MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Impaginazione lenta su tonnellate di record in mongodb

Un approccio a questo problema, se hai grandi quantità di documenti e li visualizzi in ordinati ordine (non sono sicuro di quanto sia utile skip è se non lo sei) sarebbe usare la chiave su cui stai ordinando per selezionare la pagina successiva dei risultati.

Quindi, se inizi con

db.myCollection.find().limit(100).sort({created_date:true});

e quindi estrarre la data di creazione dell'ultimo documento restituito dal cursore in una variabile max_created_date_from_last_result , puoi ottenere la pagina successiva con una modalità molto più efficiente (supponendo che tu abbia un indice su created_date ) domanda

db.myCollection.find({created_date : { $gt : max_created_date_from_last_result } }).limit(100).sort({created_date:true});