mongo-rest-query-string
v0.0.18
Published
REST query string parser for MongoDB
Downloads
34
Readme
Mongo REST Query String
REST query string parsing for MongoDB.
Query String Options
| Option | Description | Example | | ----------: | ------------------------------ | ------------------------- | | $limit | Limit the number of items | ?$limit=10 | | $skip | Skip the given number of items | ?$skip=20 | | $fields | Return only specified fields | ?$fields=name,description | | $sort | Sort on specified fields | ?$sort=name,-description | | $count | Return the total count header | ?$count | | $embed | Embed the specified items | ?$embed=owner | | $paginate | Return pagination header | ?$paginate | | $findOne | Return only the first item | ?$findOne | | $replaceOne | Replace the first item | ?$replaceOne |
Query String Filtering
| Operation | Query String | Mongo Query | | ----------------------------------------: | ------------------ | ------------------------------------------ | | field exists | ?foo | { foo: { $exists: true } } | | field does not exist | ?!foo | { foo: { $exists: false } } | | field equals string | ?foo=bar | { foo: { $eq: 'bar' } } | | field does not equal string | ?foo!=bar | { foo: { $ne: 'bar' } } | | field greater than string | ?foo>10 | { foo: { $gt: '10' } } | | field less than string | ?foo<10 | { foo: { $lt: '10' } } | | field greater than or equal to string | ?foo>=10 | { foo: { $gte: '10' } } | | field less than or equal to string | ?foo<=10 | { foo: { $lte: '10' } } | | field contains case-insensitive string | ?foo~=bar | { foo: { $regex: 'bar', $options: 'i' } } | | field starts with case-insensitive string | ?foo^=bar | { foo: { $regex: '^bar', $options: 'i' } } | | field ends with case-insensitive string | ?foo$=bar | { foo: { $regex: 'bar$', $options: 'i' } } | | field contains case-sensitive string | ?foo~==bar | { foo: { $regex: 'bar' } } | | field starts with case-sensitive string | ?foo^==bar | { foo: { $regex: '^bar' } } | | field ends with case-sensitive string | ?foo$==bar | { foo: { $regex: 'bar$' } } | | field equals any of strings | ?foo=bar&foo=baz | { foo: { $in: ['bar','baz'] } } | | field does not equal any of strings | ?foo!=bar&foo!=baz | { foo: { $nin: ['bar','baz'] } } | | field equals number | ?foo#=10 | { foo: { $eq: 10 } } | | field does not equal number | ?foo#!=10 | { foo: { $ne: 10 } } | | field greater than number | ?foo#>10 | { foo: { $gt: 10 } } | | field less than number | ?foo#<10 | { foo: { $lt: 10 } } | | field greater than or equal to number | ?foo#>=10 | { foo: { $gte: 10 } } | | field less than or equal to number | ?foo#<=10 | { foo: { $lte: 10 } } | | field equals any of numbers | ?foo#=10&foo#=20 | { foo: { $in: [10,20] } } | | field does not equal any of numbers | ?foo#!=10&foo#!=20 | { foo: { $nin: [10,20] } } | | field equals boolean | ?foo==true | { foo: { $eq: true } } | | field does not equals boolean | ?foo!==true | { foo: { $ne: true } } |