json-api-mongo-parser
JSON API query parser for MongoDB/Mongoose queries.
Convert query object from any querystring parser to MongoDB/Mongoose queries.
Installation
npm install --save json-api-mongo-parser
Usage
// Input query object for the article resourcevar query = fields: article: 'title,body' // Can be comma delimited string or Array of string people: 'firstname,lastname' comment: 'title,body' sort: '-title,body,+created' // Can be comma delimited string or Array of string page: offset: 2 limit: 10 include: 'author,comments.tag,comments.author,comments.author.tag' // Can be comma delimited string or Array of string
var JSONAPIMongoParser = ; var jsonApiMongoParser = article: relationships: // Declaring relationships with its type author: 'people' // can be a string comments: // Or an object with extra options for population query type : 'comment' options: lean: true comment: relationships: author: 'people' tag: 'tag' people: relationships: tag: 'tag' ; // ParsejsonApiMongoParser;
Output mongo query for the article resource :
select: title: 1 body: 1 author: 1 comments: 1 sort: title: -1 body: 1 created: 1 page: skip: 2 limit: 10 populate: path: 'author' select: firstname: 1 lastname: 1 tag: 1 path: 'comments' populate: path: 'tag' path: 'author' populate: path: 'tag' select: firstname: 1 lastname: 1 tag: 1 select: title: 1 body: 1 author: 1 tag: 1 options: lean: true
Requirements
json-api-mongo-parser only use ECMAScript 2015 (ES6) features supported natively by Node.js 4 and above (ECMAScript 2015 (ES6) | Node.js). Make sure that you have Node.js 4+ or above.