MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да пагинирам с Mongoose в Node.js?

Много съм разочарован от приетите отговори на този въпрос. Това няма да се мащабира. Ако прочетете дребния шрифт на cursor.skip( ):

Методът cursor.skip() често е скъп, защото изисква от сървъра да върви от началото на колекцията или индекса, за да получи позицията на отместване или пропускане, преди да започне да връща резултат. С увеличаването на отместването (напр. pageNumber по-горе), cursor.skip() ще стане по-бавен и по-интензивен на процесора. При по-големи колекции cursor.skip() може да стане обвързан с IO.

За да постигнете пагинация по мащабируем начин, комбинирайте limit() заедно с поне един критерий за филтриране, дата createdOn отговаря на много цели.

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как се инсталира MongoDb от Meteor?

  2. Групиране по стойности и условия

  3. Пролетни данни mongodb търсене за ISO дата

  4. Какво е MongoDB и как работи?

  5. Как да накарам Spring-Data-MongoDB да валидира моите обекти?