rouchdb

0.0.3 • Public • Published

Build Status NPM Version

RouchDB

Simple embeddable NoSQL DB for fast apps prototyping.

It's early version and under heavy development. Most of functions is unavailable.

Usage

npm install rouchdb
import async from 'async';
import RouchDB from '../index';
 
let db = new RouchDB({path: __dirname});
db.createCollection('users', (err, users) => {
    // define view for count users in each country
    users.createView('by-countries', {
        map: (user, emit) => {
            emit(user.country, 1);
        },
        reduce: (id, values, rereduce) => {
            return values.length;
        }
    });
 
    async.each([
        {_id: 1, name: 'Frodo', country: 'Shire'},
        {_id: 2, name: 'Sam', country: 'Shire'},
        {_id: 3, name: 'Meriadoc', country: 'Shire'},
        {_id: 4, name: 'Peregrin', country: 'Shire'},
        {_id: 5, name: 'Aragorn', country: 'Gondor'},
        {_id: 6, name: 'Sauron', country: 'Mordor'}
    ], (user, cb) => {
        // fill db with demo values
        users.put(user, cb);
    }, () => {
        // call view
        users.views['by-countries'].run({reduce: true}).toArray((result) => {
            console.log(result); // {Shire: 4, Gondor: 1, Mordor: 1}
        });
    });
});

Readme

Keywords

Package Sidebar

Install

npm i rouchdb

Weekly Downloads

4

Version

0.0.3

License

MIT

Last publish

Collaborators

  • asdf404