sql >> Database >  >> NoSQL >> MongoDB

Hoe te pagineren met Mongoose in Node.js?

Ik ben erg teleurgesteld over de geaccepteerde antwoorden op deze vraag. Dit zal niet schalen. Als je de kleine lettertjes leest op cursor.skip( ):

De methode cursor.skip() is vaak duur omdat het vereist dat de server vanaf het begin van de verzameling of index loopt om de offset- of skip-positie te krijgen voordat het resultaat begint te retourneren. Naarmate offset (bijv. paginanummer hierboven) toeneemt, wordt cursor.skip() langzamer en CPU-intensiever. Bij grotere verzamelingen kan cursor.skip() IO-gebonden worden.

Om paginering op een schaalbare manier te bereiken, combineert u een limiet( ) samen met ten minste één filtercriterium, een datum gemaakt op is geschikt voor vele doeleinden.

MyModel.find( { createdOn: { $lte: request.createdOnBefore } } )
.limit( 10 )
.sort( '-createdOn' )


  1. MongoDB:Hoe een query uit te voeren voor records waarbij het veld null of niet is ingesteld?

  2. MongoDB - Een verzameling maken

  3. Mongo Aggregation:$groep en $projectarray om bezwaar te maken voor tellingen

  4. Hoe Redis draaiend te krijgen op Azure?