Sign In

koa-mongoose-pagination

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

koa-mongoose-pagination

Mongoose ORM (NodeJS/MongoDB) Document Query Pagination using generators (Koa compatible)

latest
Source
npmnpm
Version
1.0.3
Version published
Weekly downloads
8
14.29%
Maintainers
1
Weekly downloads
 
Created
Source

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 = require('koa-mongoose-pagination');

MyModel.plugin(koaMongoosePagination);


/*
 * 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 } = yield MyModel.paginate({
  conditions: { 'status': true }, // Only enabled items
  columns: '_id name', // Retrieve only those columns
  sortBy: { '_id': -1 }, // Sort by _id DESC
  limit: resultsPerPage,
  offset: (currentPage * resultsPerPage) - resultsPerPage
});

console.log(data); // Results from the paginated set
console.log(count); // 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:


require('babel/register');

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.

Keywords

koa

FAQs

Package last updated on 24 May 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts