url-db-paging
A library to help creating paging results through URLs.
Features
- Build a paging query with a search provider based in some URL. Which will use offset fields due performance reasons.
- Build REST JSON output with link to the next and previous pages.
Search providers
- MongoDB through Mongoose
- MySQL and PostgreSQL through Knex
- Solr through solr-query-builder
Do you want another provider? Please open an issue or even better send us a pull request.
Usage
Options
query
: request query stringdefaultSortField
: default primary sort fieldidField
: data's id fieldroot
: base urllimit
: limit results per pagequeryBuilderType
: query builder type (mongoose, solr or knex)
var express = Paging = User = ; var app = ; app; moduleexports = app;
Output Result (Example)
list: ... ... ... _links: previous: href: "http://service/users?limit=5&sort=-created&offset_date=2014-07-31T12%3A05%3A24.865Z&offset_id=53da3104d14bdb2500cc203d&dir=backward" next: href: "http://service/users?limit=5&sort=-created&offset_date=2014-07-31T12%3A05%3A24.854Z&offset_id=53da3104d14bdb2500cc2035&dir=forward"
Contributing
It is required to use editorconfig and please write and run specs before pushing any changes:
npm test