0.0.18 • Published 7 years ago
mongo-rest-query-string v0.0.18
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 } } |