mongo-rest-query-string
TypeScript icon, indicating that this package has built-in type declarations

0.0.18 • Public • Published

Mongo REST Query String

Build Status

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 } }

Readme

Keywords

Package Sidebar

Install

npm i mongo-rest-query-string

Weekly Downloads

1

Version

0.0.18

License

MIT

Unpacked Size

25.4 kB

Total Files

9

Last publish

Collaborators

  • jtalton