0.0.18 • Published 6 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 } } |