mongoose-will-paginate
Pagination plugin for Mongoose
Note: This plugin will only work with Node.js >= 4.2 and Mongoose >= 5.2
Installation
npm install mongoose-will-paginate
Usage
Add plugin to a schema and then use model paginate
method:
var mongoose = require('mongoose');
var mongoosePaginate = require('mongoose-will-paginate');
var schema = new mongoose.Schema({ /* schema definition */ });
schema.plugin(mongoosePaginate);
var Model = mongoose.model('Model', schema); // Model.paginate()
Model.paginate([query], [options], [callback])
Parameters
-
[query]
{Object} - Query criteria. Documentation -
[options]
{Object}-
[select]
{Object | String} - Fields to return (by default returns all fields). Documentation -
[sort]
{Object | String} - Sort order. Documentation -
[populate]
{Array | Object | String} - Paths which should be populated with other documents. Documentation -
[lean=false]
{Boolean} - Should return plain javascript objects instead of Mongoose documents? Documentation -
[leanWithId=true]
{Boolean} - Iflean
andleanWithId
aretrue
, addsid
field with string representation of_id
to every document -
[offset=0]
{Number} - Useoffset
orpage
to set skip position -
[page=1]
{Number} -
[limit=10]
{Number}
-
-
[callback(err, result)]
- If specified the callback is called once pagination results are retrieved or when an error has occurred
Return value
Promise fulfilled with object having properties:
-
docs
{Array} - Array of documents -
total
{Number} - Total number of documents in collection that match a query -
limit
{Number} - Limit that was used -
[page]
{Number} - Only if specified or defaultpage
/offset
values were used -
[pages]
{Number} - Only ifpage
specified or defaultpage
/offset
values were used -
[offset]
{Number} - Only if specified or defaultpage
/offset
values were used