lucis-api-query

0.9.1 • Public • Published

lucis-api-query

Motivation

This library merge three other libraries used for paginating and querying resources in Mongoose: mongoose-paginate, mongoose-api-query and. You will just import and set it on Mongoose and pagination + advanced querying will work out of the box!

mongoose-paginate works creating a query in the database using pagination's parameters. express-paginate parses the parameters coming from the request's query params, among other things. mongoose-api-query empowers mongoose's query api including helpers and regex' like functionality.

How to install?

Mongoose

In your schema/model file you just need to import lucis-api-query and add as a plugin to your Mongoose Schema. Just like that

import { pluginMongoose } from 'lucis-api-query';

const songSchema = new Schema({
    name: String
});

songSchema.plugin(pluginMongoose);

module.exports = mongoose.model('Song', songSchema);

Using

In your router, just replace the handler function with Model.lucisApiQuery(). You can provide a callback (req, res, data), but it will work fine if you don't. I will probably add some options for this functions, but right now the request holds responsability about select, populate, limit (actually we override it if it gets too big).

app.get('/songs', Song.lucisApiQuery());

Readme

Keywords

none

Package Sidebar

Install

npm i lucis-api-query

Weekly Downloads

1

Version

0.9.1

License

ISC

Unpacked Size

20.9 kB

Total Files

5

Last publish

Collaborators

  • lucis