Mongoose ORM (NodeJS/MongoDB) Document Query Pagination
To be used in combination with view pagination middleware such as express-paginate.
npm install -S mongoose-paginate
/*
* basic example usage of `mongoose-pagination`
* querying for `all` {} items in `MyModel`
* paginating by second page, 10 items per page (10 results, page 2)
*/
var mongoosePaginate = require('mongoose-paginate');
MyModel.plugin(mongoosePaginate)
MyModel.paginate({}, 2, 10, function(error, pageCount, paginatedResults, itemCount) {
if (error) {
console.error(error);
} else {
console.log('Pages:', pageCount);
console.log(paginatedResults);
}
});
/*
* advanced example usage of `mongoose-pagination`
* querying for `{ columns: 'title', { populate: 'some_ref' }, { sortBy : { title : -1 } }` items in `MyModel`
* paginating by second page, 10 items per page (10 results, page 2)
*/
var mongoosePaginate = require('mongoose-paginate');
MyModel.plugin(mongoosePaginate)
MyModel.paginate({}, 2, 10, function(error, pageCount, paginatedResults, itemCount) {
if (error) {
console.error(error);
} else {
console.log('Pages:', pageCount);
console.log(paginatedResults);
}
}, { columns: 'title', populate: {path: 'some_ref', select: 'some fields'}, sortBy : { title : -1 });
$ npm test