{"_id":"@electrivity/mongoose-paginate","_rev":"5-262fd5a98fc0a0d644eebee2f0d8cc1b","name":"@electrivity/mongoose-paginate","dist-tags":{"latest":"6.0.0"},"versions":{"5.0.4":{"name":"@electrivity/mongoose-paginate","description":"Forked: Pagination plugin for Mongoose","version":"5.0.4","author":{"name":"Pascal Opitz","email":"pascal.opitz@electrivity.com"},"contributors":[{"name":"Edward Hotchkiss","email":"edward@edwardhotchkiss.com"},{"name":"Nick Baugh","email":"niftylettuce@gmail.com"},{"name":"Dmitry Kirilyuk","email":"gk.joker@gmail.com"}],"repository":{"type":"git","url":"git+https://bitbucket.org/electrivity/mongoose-paginate.git"},"license":"MIT","keywords":["mongoose","paginate","pagination","paging","page"],"engines":{"node":">=4.2.4"},"dependencies":{},"devDependencies":{"babel-eslint":"^8.2.6","chai":"^4.1.2","eslint":"^5.2.0","eslint-plugin-prettier":"^2.6.2","mocha":"^5.2.0","mongoose":"^5.2.6","prettier":"^1.14.0"},"scripts":{"test":"mocha tests/*.js -R spec --ui bdd --timeout 5000"},"gitHead":"334ce4d16e30743748efeb6783a5f93b8b53979b","homepage":"https://bitbucket.org/electrivity/mongoose-paginate#readme","_id":"@electrivity/mongoose-paginate@5.0.4","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"pascalopitz","email":"contact@pascalopitz.com"},"dist":{"integrity":"sha512-7vPALaSmcLvdbEMxlQEl8VtLnLgAmj9s8bVk1yyaxXM6OVyG+M5BLOUI24TLZPEDd6G7KDv+JS8W0K0vkAmwCg==","shasum":"3eda0c9b239a6b117fc55b63ebb601ec9589e29f","tarball":"https://registry.npmjs.org/@electrivity/mongoose-paginate/-/mongoose-paginate-5.0.4.tgz","fileCount":8,"unpackedSize":21600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY+DpCRA9TVsSAnZWagAA/AsP/jDEGhbUmxD1shBQfdaQ\n0KY91zNnFVKgVsn1m21IacEV8LlmCHfk0dCcTILEMSwmIEz2nDqNoL4+o3wa\nYXX/6mRLySCpFZyeVVi5ppY0gkCKUKSfGDuq7puJWHBSRir3RSpVmbv6Ddkj\nwpaWGZE/+KFHxrBGxe3qp2YRrpYF1eZ/LjhDY4DHmkDnGiO2CpIG+JYDj3DL\nmzug88fjGrHco7FFB2nv8Mak9trsaTMtKqbpRr2Csk4WY8dxrHsawk8Gd+BO\nfCEnHe+eR3jZ5k1DTNVpWXinvAXyrLuk8F/2t01hwgUPFL8Do9qC3ulxnIaf\nH0vXk+26YSaGRm3WOloZAPqIr2/Sg8MylYPzSK4xPmy4BnpIQlduUI1qRoBP\n4+EN8dF2xYfDykTil7yXUxclXKcSsBtLAjXElbY+c3YTWYLBJf3XVZ7C1VHq\nPUpBmlWwGFInTKwc0CVTRX3YnQvL6D46Gv/cP27mX1oMEJCsgWNTKknOUfDB\nWLOe26LmyHSmqojb7T+UxY11rHkOeAghVaEtX4UGGNooajJveds2Qj5vVx3d\nFXBf4dBHuH3xBq2egND0Jw77ZAi3k/c8nbW39g5VqzGcuAnHak0HDJ0vUx+S\nPhptZ6S5NmqHq057KA1ocYSx/D0275H2a4MHPuK+ozELz+/yCnHMvJU16TUi\nTyjm\r\n=t55f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICTECdeaReGbkZaOcVbUw4Fm5M8b8KpmML5nuX7bj3VcAiEAh2GeqBCx/+bxom6dSdLQx1IhXYfXLY4WKFf/ft2E/84="}]},"maintainers":[{"name":"pascalopitz","email":"contact@pascalopitz.com"},{"name":"supersime","email":"ssteele@electrivity.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mongoose-paginate_5.0.4_1533272296647_0.859785398001031"},"_hasShrinkwrap":false},"5.0.5":{"name":"@electrivity/mongoose-paginate","description":"Forked: Pagination plugin for Mongoose","version":"5.0.5","author":{"name":"Pascal Opitz","email":"pascal.opitz@electrivity.com"},"contributors":[{"name":"Edward Hotchkiss","email":"edward@edwardhotchkiss.com"},{"name":"Nick Baugh","email":"niftylettuce@gmail.com"},{"name":"Dmitry Kirilyuk","email":"gk.joker@gmail.com"}],"repository":{"type":"git","url":"git+https://bitbucket.org/electrivity/mongoose-paginate.git"},"license":"MIT","keywords":["mongoose","paginate","pagination","paging","page"],"engines":{"node":">=10.8.0"},"dependencies":{},"devDependencies":{"babel-eslint":"^8.2.6","chai":"^4.1.2","eslint":"^5.2.0","eslint-plugin-prettier":"^2.6.2","mocha":"^5.2.0","mongoose":"^5.2.6","prettier":"^1.14.0"},"scripts":{"test":"mocha tests/*.js -R spec --ui bdd --timeout 5000"},"gitHead":"f7f2203d522e83e538a83289e803c62874a3c118","homepage":"https://bitbucket.org/electrivity/mongoose-paginate#readme","_id":"@electrivity/mongoose-paginate@5.0.5","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"pascalopitz","email":"contact@pascalopitz.com"},"dist":{"integrity":"sha512-zhyKfWXxCNvkOQyGeGThIZdH7P5cC/q0igxgvIhy1T4nFNXYBSy3sNSFoZfYfEhWAvcZbgs+PXaVfQzO/Gy/kg==","shasum":"7f4466351836fa1602c102139638b1e5acf9bad5","tarball":"https://registry.npmjs.org/@electrivity/mongoose-paginate/-/mongoose-paginate-5.0.5.tgz","fileCount":8,"unpackedSize":21651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY+JWCRA9TVsSAnZWagAAUsUP/3YrZ4oU0251QJ9y6fu3\npqel7r3k/e9/nG9Ir5py1zjT3HKtY5JoUFLUw9Ik3BJemTpEUWIgraHJkOHS\nAj4HQIC97heVcAzm9AMVBLjpT41r27DjT+aL+4PcVOFkaPM5ZircSvuwFgTc\nWdGj9AVyiygzTevBsabNgRngK9UFEFVfaXDLPtThoEn2owGRIhROxO4RLk50\nhlh1BhJ6zpKJYq18Z9Ax/2wXNEEecKl/I5VNl+Sc/d7jUyBAPwQ9o+Rf1shr\nJkmYqBvFq6cvqieR5t1TsxX1Z+esZ0AzuKmmjvdOwrivFQ0eMTC89MFJFlUp\nDeXOwJCWwLgogk9PH+tfG0pJUiWDSCggxK6msUQ/iQGg6dvshMXcq6m/hKUb\njK11QSOdJKwbYmRDP7qto4Bfg/DxTtZVywXpPSzBfP5QFp177HDAJM/VAZH6\nvUHbDJjwoOy2iZtirNpyp+sS6hWsvvzpWCj1obOwQskXduCy/sCkY9TbtTFo\nyMr9TOO7fSc2ZeBwrU/LSfmQH/h9sRAXO6qjWUCfgRaJKlVUpzrdUNEgZarI\n5mgQQs6c7e69LRzWa0ZWMrotuj1BR7Ku9T5tp3116m0dU6vZrppLusioZN03\nsu2f8hUI+oph69hqEY3EpbDs+Jk10M0QH3VxTQKLoCxK9g0Twc1yMUEDvdV4\n5gif\r\n=uAHg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE4FW+Fs7aXSqWlKHHvXjQlE5EGEerX369D8wh2pHht1AiEAnbn2l+n9j6wJH5rUZAsB3WwRzwf+HvLWI4LNdy2FUV4="}]},"maintainers":[{"name":"pascalopitz","email":"contact@pascalopitz.com"},{"name":"supersime","email":"ssteele@electrivity.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mongoose-paginate_5.0.5_1533272662058_0.7199196937778578"},"_hasShrinkwrap":false},"5.0.6":{"name":"@electrivity/mongoose-paginate","description":"Forked: Pagination plugin for Mongoose","version":"5.0.6","author":{"name":"Pascal Opitz","email":"pascal.opitz@electrivity.com"},"contributors":[{"name":"Edward Hotchkiss","email":"edward@edwardhotchkiss.com"},{"name":"Nick Baugh","email":"niftylettuce@gmail.com"},{"name":"Dmitry Kirilyuk","email":"gk.joker@gmail.com"}],"repository":{"type":"git","url":"git+https://bitbucket.org/electrivity/mongoose-paginate.git"},"license":"MIT","keywords":["mongoose","paginate","pagination","paging","page"],"engines":{"node":">=10.8.0"},"dependencies":{},"devDependencies":{"babel-eslint":"^8.2.6","chai":"^4.1.2","eslint":"^5.2.0","eslint-plugin-prettier":"^2.6.2","mocha":"^5.2.0","mongoose":"~5.1.7","prettier":"^1.14.0"},"scripts":{"test":"mocha tests/*.js -R spec --ui bdd --timeout 5000"},"gitHead":"daa57a7271180aed18e802369995645973aa737f","homepage":"https://bitbucket.org/electrivity/mongoose-paginate#readme","_id":"@electrivity/mongoose-paginate@5.0.6","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"pascalopitz","email":"contact@pascalopitz.com"},"dist":{"integrity":"sha512-Ckdb+PV3SqgTopqceB2lU6B2vHWA+YdalDv4Z4aQlnLkD55kbUq+0frEQ4RHQ/GRdG0zGzoJ/fwFXvY8mFsNFg==","shasum":"a1ee15edcf62cee6f7f6f6be59fdfc2ca58e9f24","tarball":"https://registry.npmjs.org/@electrivity/mongoose-paginate/-/mongoose-paginate-5.0.6.tgz","fileCount":8,"unpackedSize":21552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZADVCRA9TVsSAnZWagAAX6IP/3Kn1LydrqbYMvoj7wqM\nIK1X0n96eHZHRtuKs6c31+mIBvHOlm4y0Gvx36y3+iw5aVoCmBXFOKVs6eCw\nQDf8xkjpc638tUZ4xp4prIu7cqJppLVnIEkbLtDTHmBr1p9IC30jcd3Cy2iM\nugrdr3LSXJYp/arMVtS6L2omuxCbIcKxrYoQn0FO5LvKpCj57Ua+iNA3yDyP\nMaBgplvTxrcHva1RtHoTYzD3pvI22YWXhdUSXw6zpTIKNeDmE6ULpee1qc1D\ntrmrAVozRJoB/a1Hu6rU2r7T46WllIaME0mdf+HcRQQX+6rSkZWXyKZpLn4Z\niTffaj9rJosQ55yk4mRFPYcjrF7yVSt9cqqjnnlZ09zgWohtCVFu9qgO1+qJ\navWD7XQSwcgzp4CB0EAd3XvQfG64eAMp8MOGPxoCmCAgYsiMiNHf9WltkaXT\nt06F/rKf453Qyaku3q8eMo7L53CdwV5NO+aMg18eful3vXnPsF8oKkQ69vz6\nmJom1FDkqWiRVIzjcjGEP4MhkQLfNGSsKphV/imtyOZZhQ8kwWeTRb/smjzP\npiV3SZFECLcGbQas3+Qqp6QzcWYfA9rKp0YUFSQz8LZ3aY4PWQHAqPCqSPgj\n4Z0JOzyhh4elLhof+4koe0cAlE4lkmfTLA4TGyWZQFf2cOsEG48RTKc0rvM8\nr97A\r\n=dCsL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBQ0986rtlUetpPIj2vwTGZ8PgmXQVWufPib6TgpeYYRAiBy8bthwAZsEOG5swhCeVYm9cQN1G2/vV+l7FkLOSWVOg=="}]},"maintainers":[{"name":"pascalopitz","email":"contact@pascalopitz.com"},{"name":"supersime","email":"ssteele@electrivity.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mongoose-paginate_5.0.6_1533280468887_0.7798117518413596"},"_hasShrinkwrap":false},"6.0.0":{"name":"@electrivity/mongoose-paginate","description":"Forked: Pagination plugin for Mongoose","version":"6.0.0","author":{"name":"Pascal Opitz","email":"pascal.opitz@electrivity.com"},"contributors":[{"name":"Edward Hotchkiss","email":"edward@edwardhotchkiss.com"},{"name":"Nick Baugh","email":"niftylettuce@gmail.com"},{"name":"Dmitry Kirilyuk","email":"gk.joker@gmail.com"}],"repository":{"type":"git","url":"git+https://bitbucket.org/electrivity/mongoose-paginate.git"},"license":"MIT","keywords":["mongoose","paginate","pagination","paging","page"],"engines":{"node":">=10.8.0"},"dependencies":{},"devDependencies":{"babel-eslint":"^10.0.1","chai":"^4.2.0","eslint":"^5.10.0","eslint-plugin-prettier":"^3.0.0","mocha":"^5.2.0","mongoose":"^5.3.15","prettier":"^1.15.3"},"scripts":{"test":"mocha tests/*.js -R spec --ui bdd --timeout 5000"},"gitHead":"1649907d3417b719ce7179034ede92a764a813cc","homepage":"https://bitbucket.org/electrivity/mongoose-paginate#readme","_id":"@electrivity/mongoose-paginate@6.0.0","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"pascalopitz","email":"contact@pascalopitz.com"},"dist":{"integrity":"sha512-CwLZTpmcGv7BLm1YCFptI+la0nPv8+x6kq4vplLbpgXiEqjVSu+u9h/tzODaJMPZB9Ut1jTuOmfQ9ll/v/LM9A==","shasum":"e9ff7285375e5a8794a68634e9f28af67eebb174","tarball":"https://registry.npmjs.org/@electrivity/mongoose-paginate/-/mongoose-paginate-6.0.0.tgz","fileCount":8,"unpackedSize":21655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcDxH5CRA9TVsSAnZWagAA26AQAI+mx6dEG/BlrXoDCErZ\ny17LewWnnyqFE0FAHWZvj0St1QkslXmh2GuKT/4JDdrcnfsWE4G2ZHrOL5sF\ntXYF36XhFH8T04G49sRpvlGyPW2K/Rqnt59/rB0jbP3cNDLxqs+OYvTfPqy3\nBrEOZwEqjh9jlsDpqnPbEuc1PpX+f/6XT5Ev5NrX/69tYmVxLcBi8g2epF6E\nWQuc/lvJMrv76NXh15DJ9r90F+d3hs2HdB9+MlTyFFtVsPQ1ovxS8TORrctT\na0Mfp1Le9tlybpqdHdMZqPA0ZN8NVH5y3svRCvW4bTLugDiHyAIjRcqwuE5O\nFeO6vL1nDfhE0rI1AIafjg+EQQ7JF8feYzLNgiMP3dCB4knJG0iEIw3OKygJ\nFgI7b833A5tAIbymb60soFYA2ZJQiyPxeULRbPZ3/mYL7YzOdxow/peWhVKR\ntCLZ5bEoxpXGuTDUOsg1wgXvtX/NgIg6cgnuLz8dFa+sSHDXvI+FjqDOyvJE\nitZRoiu0zkYF6UsOkLSkO7VGCRgnWKlGQx8QFS+NLmCQLwP4V5wk3Lo1+uFw\n/pTmxCc3izFPpE1NbbQIiKlMAERomGwMQmS9T7W2s2ibyD5K/1zpQrSc6Kl5\nUMioEGXd/CWtfV8brmobchUUrk+VTQXNVJdBu3yWlZZ00aCcu9CLh7MGtXje\nagvm\r\n=szNW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD36SBidfGZldm4JcBINsc6GjohpKrb8kteco3Z0kXlEgIgK8nt9bzJBUiU/3qR6QfRbZZXPYMyKwQdIeY5Q0T0YsY="}]},"maintainers":[{"name":"pascalopitz","email":"contact@pascalopitz.com"},{"name":"supersime","email":"ssteele@electrivity.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mongoose-paginate_6.0.0_1544491512845_0.8566024105582843"},"_hasShrinkwrap":false}},"time":{"created":"2018-08-03T04:58:16.411Z","5.0.4":"2018-08-03T04:58:16.698Z","modified":"2022-04-05T07:07:57.819Z","5.0.5":"2018-08-03T05:04:22.182Z","5.0.6":"2018-08-03T07:14:29.047Z","6.0.0":"2018-12-11T01:25:12.968Z"},"maintainers":[{"email":"ssteele@electrivity.com","name":"supersime"}],"description":"Forked: Pagination plugin for Mongoose","homepage":"https://bitbucket.org/electrivity/mongoose-paginate#readme","keywords":["mongoose","paginate","pagination","paging","page"],"repository":{"type":"git","url":"git+https://bitbucket.org/electrivity/mongoose-paginate.git"},"contributors":[{"name":"Edward Hotchkiss","email":"edward@edwardhotchkiss.com"},{"name":"Nick Baugh","email":"niftylettuce@gmail.com"},{"name":"Dmitry Kirilyuk","email":"gk.joker@gmail.com"}],"author":{"name":"Pascal Opitz","email":"pascal.opitz@electrivity.com"},"license":"MIT","readme":"\n# mongoose-paginate\n\n> Forked: Pagination plugin for [Mongoose](http://mongoosejs.com)\n\n[![NPM version](https://img.shields.io/npm/v/@electrivity/mongoose-paginate.svg)](https://npmjs.org/package/@electrivity/mongoose-paginate)\n[![Build status](https://img.shields.io/travis/electrivity/mongoose-paginate.svg)](https://travis-ci.org/electrivity/mongoose-paginate)\n\n**Note:** This plugin will only work with Node.js >= 10.8.0 and Mongoose >= 5.3.15\n=======\n[![NPM](https://nodei.co/npm/@electrivity/mongoose-paginate.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/@electrivity/mongoose-paginate/)\n\n## Installation\n\n```sh\nnpm install @electrivity/mongoose-paginate\n```\n\n## Usage\n\nAdd plugin to a schema and then use model `paginate` method:\n\n```js\nvar mongoose = require('mongoose');\nvar mongoosePaginate = require('@electrivity/mongoose-paginate');\n\nvar schema = new mongoose.Schema({ /* schema definition */ });\nschema.plugin(mongoosePaginate);\n\nvar Model = mongoose.model('Model',  schema); // Model.paginate()\n```\n\n### Model.paginate([query], [options], [callback])\n\n**Parameters**\n\n* `[query]` {Object} - Query criteria. [Documentation](https://docs.mongodb.org/manual/tutorial/query-documents)\n* `[options]` {Object}\n  - `[select]` {Object | String} - Fields to return (by default returns all fields). [Documentation](http://mongoosejs.com/docs/api.html#query_Query-select) \n  - `[sort]` {Object | String} - Sort order. [Documentation](http://mongoosejs.com/docs/api.html#query_Query-sort) \n  - `[populate]` {Array | Object | String} - Paths which should be populated with other documents. [Documentation](http://mongoosejs.com/docs/api.html#query_Query-populate)\n  - `[lean=false]` {Boolean} - Should return plain javascript objects instead of Mongoose documents?  [Documentation](http://mongoosejs.com/docs/api.html#query_Query-lean)\n  - `[leanWithId=true]` {Boolean} - If `lean` and `leanWithId` are `true`, adds `id` field with string representation of `_id` to every document\n  - `[offset=0]` {Number} - Use `offset` or `page` to set skip position\n  - `[page=1]` {Number}\n  - `[limit=10]` {Number}\n* `[callback(err, result)]` - If specified the callback is called once pagination results are retrieved or when an error has occurred\n\n**Return value**\n\nPromise fulfilled with object having properties:\n* `docs` {Array} - Array of documents\n* `total` {Number} - Total number of documents in collection that match a query\n* `limit` {Number} - Limit that was used\n* `[page]` {Number} - Only if specified or default `page`/`offset` values were used \n* `[pages]` {Number} - Only if `page` specified or default `page`/`offset` values were used \n* `[offset]` {Number} - Only if specified or default `page`/`offset` values were used\n\n### Examples\n\n#### Skip 20 documents and return 10 documents\n\n```js\nModel.paginate({}, { page: 3, limit: 10 }, function(err, result) {\n  // result.docs\n  // result.total\n  // result.limit - 10\n  // result.page - 3\n  // result.pages\n});\n```\n\nOr you can do the same with `offset` and `limit`:\n\n```js\nModel.paginate({}, { offset: 20, limit: 10 }, function(err, result) {\n  // result.docs\n  // result.total\n  // result.limit - 10\n  // result.offset - 20\n});\n```\n\nWith promise:\n\n```js\nModel.paginate({}, { offset: 20, limit: 10 }).then(function(result) {\n  // ...\n});\n```\n\n#### More advanced example\n\n```js\nvar query = {};\nvar options = {\n  select: 'title date author',\n  sort: { date: -1 },\n  populate: 'author',\n  lean: true,\n  offset: 20, \n  limit: 10\n};\n\nBook.paginate(query, options).then(function(result) {\n  // ...\n});\n```\n\n#### Zero limit\n\nYou can use `limit=0` to get only metadata:\n\n```js\nModel.paginate({}, { offset: 100, limit: 0 }).then(function(result) {\n  // result.docs - empty array\n  // result.total\n  // result.limit - 0\n  // result.offset - 100\n});\n```\n\n#### Set custom default options for all queries\n\nconfig.js:\n\n```js\nvar mongoosePaginate = require('@electrivity/mongoose-paginate');\n\nmongoosePaginate.paginate.options = { \n  lean:  true,\n  limit: 20\n};\n```\n\ncontroller.js:\n\n```js\nModel.paginate().then(function(result) {\n  // result.docs - array of plain javascript objects\n  // result.limit - 20\n});\n```\n\n## Tests\n\n```sh\nnpm install\nnpm test\n```\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}