jonotron / jouch

a couchdb 2.0 query compiler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

A couchdb 2.0 query parser, using jison

Installation

npm install --save jouch

Usage

PouchDB

import parse from 'jouch'
import PouchDB from 'pouchdb'
import pouchdb-find from 'pouchdb-find'

PouchDB.plugin(pouchdb-find)
const db = new PouchDB('/path/to/pouch')

const selector = parse('id != null')
db.find({
  selector: selector
}).then(res => {
  // results
})

CouchDB 2.0

// TODO: add couchdb usage example

Expressions

expression result
== $eq
!= $ne
>= $gte
<= $lte
> $gt
< $lt
and $and
or $or
not $not
has $elemMatch

e.g.

const selector = jouch('age >= 18 and skills has "javascript"')

would parse to

{ "$and": [
    { "age": {"$gte": 18}},
    { "$elemMatch": {"skills": {"$eq": "javascript"}}}
   ]
}

About

a couchdb 2.0 query compiler

License:MIT License


Languages

Language:JavaScript 100.0%