mongoose-aggregate-paginate-allowdiskuse

1.0.1 • Public • Published

mongoose-aggregate-paginate-allowdiskuse

mongoose-aggregate-paginate-allowdiskuse is a Mongoose plugin easy to add pegination for aggregates. It includes the option allowDiskUse for bigger queries. This plugin is to be used in combination with view pagination middleware such as express-paginate.

[Build Status][travis-ci-url] npm version Dependency Status Test Coverage js-standard-style

NPM

Index

Install

npm install mongoose-aggregate-paginate-allowdiskuse --save

Usage

This plugin must first be added to a schema:

 
var mongooseAggregatePaginate = require('mongoose-aggregate-paginate-allowdiskuse');
 
mySchema.plugin(mongooseAggregatePaginate);
 

MyModel will have a new function called paginate (e.g. MyModel.aggregatePaginate()).

MyModel.aggregatePaginate(aggregate, options, callback)

Arguments

  • aggregate - An object of the Mongoose aggregate.
  • options - An object with options for the Mongoose query, such as sorting
    • page - Default: 1
    • limit - Default: 10
    • sortBy - Default: undefined
    • allowDiskUse - Default: false
  • callback(err, results, pageCount, itemCount) - A callback is called once pagination results are retrieved, or an error has occurred.

Examples

 
var MyModel = mongoose.model('MyModel',{
  name : String,
  age: Number,
  city, String
})
 
// find users above 18 by city
var aggregate = MyModel.aggregate();
aggregate.match({age : {'lt' : 18 } })
.group({ _id: '$city' , count : { '$sum' : 1 } })
var options = { page : 1, limit : 15, allowDiskUse: true }
 
MyModel.aggregatePaginate(aggregate, options, function(err, results, pageCount, count) {
  if(err) 
  {
    console.err(err)
  }
  else
  { 
    console.log(results)
  }
})
 

Tests

npm test

Acknowlegements

mongoose-aggregate-paginate-allowdiskuse is based on mongoose-aggregate-paginate.

License

MIT

[travis-ci-url]: https://travis-ci.org/Maheshkumar-Kakade/mongoose-aggregate-paginate

Package Sidebar

Install

npm i mongoose-aggregate-paginate-allowdiskuse

Weekly Downloads

9

Version

1.0.1

License

MIT

Last publish

Collaborators

  • kormath