How it works
Use Case
Installation
npm install --save mongoose-efficient-pagination
API Reference
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
var mongoose = require('mongoose');
var paginator = require('mongoose-efficient-pagination');
paginator.perPage = 25;
Use it with a model...
var Customer = mongoose.model('Customer');
var sortOrder = -1;
var perPage = 10;
var startAfter = '52c1190207d5dbccda00000f';
Customer.find({
status: 'active'
})
.sort({
createdAt: sortOrder,
})
.paginate(perPage, startAfter)
.exec();
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 |