Skip to content

jonotron/jouch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%