koa-mongoose-pagination
Mongoose ORM (NodeJS/MongoDB) Document Query Pagination using generators (Koa compatible)
To be used in combination with view pagination middleware such as express-paginate.
Based on mongoose-paginate by edwardhotchkiss.
This version uses generators and it's compatible with Koa framework.
Examples uses let
instead of var
. Feel free to use whatever fits you. Remember to use strict mode.
Installation
npm install -S koa-mongoose-pagination
Usage
'use strict'; let koaMongoosePagination = ; MyModel;
/* * basic example usage of `koa-mongoose-pagination` * paginating by second page, 10 items per page (10 results, page 2) */ 'use strict'; const resultsPerPage = 10;const currentPage = 2; // You should use this.query.page here const data count = MyModel; console; // Results from the paginated setconsole; // Total results in the query
NOTE: You need Babel (or any other transpiler) to make use of variable destructuring (const { data, count } = ...
). With Babel, simply install babel
package and require the hook in your main app.js:
;
Default options
- Conditions:
{}
. - Columns:
null
. - SortBy:
{ _id: -1 }
. - Limit:
10
. - Offset:
0
.
Error handling
In Koa, you can use try/catch
to manage the errors.