Simple embeddable NoSQL DB for fast apps prototyping.
It's early version and under heavy development. Most of functions is unavailable.
import async from 'async';
import RouchDB from '../index';
let db = new RouchDB({path: __dirname});
db.createCollection('users', (err, users) => {
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) => {
users.put(user, cb);
}, () => {
users.views['by-countries'].run({reduce: true}).toArray((result) => {
console.log(result);
});
});
});