monquery
Lucene-inspired string-based mongodb query language for humans (and ferrets).
Installation
$ npm install monquery
Why?
- Nicer UX for the odd search / log filtering
- Writing JSON queries is a PITA
Example
var compile = ;var str = 'level:error OR type:upload';var query = ;
Querying
Fields
Specify field names with optional values:
level:error
yields
level: 'error'
Booleans
Omit value to imply true:
failed
yields
failed: true
Or specify a boolean-ish value (true, false, yes, no):
failed: no
yields
failed: false
Operators
Currently supports AND / OR, which may be nested:
level:error AND type:"upload failed" OR usernamefirst:Tobi
yields
'$or': '$and': level: 'error' type: 'upload failed' 'user.name.first': 'Tobi'
Regular Expressions
Regexps may be used with the //
syntax:
level:info AND name:/^To/
yields
'$and': level: 'info' name: /^To/
Patterns
Wildcards may be used to generate regular expressions:
level:error AND hostname:api-*
yields
'$and': level: 'error' hostname: /^api-.*$/
License
MIT