monquery

    0.2.0 • Public • Published

    monquery

    Lucene-inspired string-based mongodb query language for humans (and ferrets).

    Installation

    $ npm install monquery
    

    Why?

    1. Nicer UX for the odd search / log filtering
    2. Writing JSON queries is a PITA

    Example

    var compile = require('monquery');
    var str = 'level:error OR type:upload';
    var query = compile(str);

    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 user.name.first: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

    Install

    npm i monquery

    DownloadsWeekly Downloads

    49

    Version

    0.2.0

    License

    MIT

    Last publish

    Collaborators

    • tjholowaychuk