mongoose-efficient-pagination
How it works
Use Case
Installation
npm install --save mongoose-efficient-pagination
API Reference
mongooseEfficientPagination
Using skip is not efficient for large data sets. Rather, we can achieve pagination by sorting by _id then telling mongo to use that _id as a starting point when returning the next page of records.
Example
// configure mongoosevar mongoose = ;var paginator = ; // optionally globally configure the default perPage value.// this can be overridden in the paginate function itself.paginatorperPage = 25;
Use it with a model...
var Customer = mongoose;var sortOrder = -1;var perPage = 10;var startAfter = '52c1190207d5dbccda00000f'; // this value should be passed from your previous result set. Customer;
mongooseEfficientPagination~paginator(perPage, [nextID]) ⇒
Can be called from the mongoose model prototype providing an easy way to paginate the result set of a query.
Kind: inner method of mongooseEfficientPagination
Returns: this
Param | Type | Default | Description |
---|---|---|---|
perPage | number |
20 |
number of records per page |
[nextID] | ObjectId |
(null) |
the id of the document which you will be starting after |