modella-pouchdb

1.0.1 • Public • Published

Modella-PouchDB

Build Status

PouchDB plugin for modella.

Installation

Component:

component install staygrimm/modella-pouchdb

npm:

npm install modella-pouchdb

Example

var model = require('modella');
var pouch = require('modella-pouchdb');
var PouchDB = require('pouchdb');
 
var UserDB = new PouchDB('Users');
 
var User = model('User')
  .attr('_id')
  .attr('name')
  .attr('email');
 
User.use(pouch(UserDB));
 
/**
 * Initialize
 */
 
var user = new User;
 
user.
    ._id(new Date().toISOString())
    .name('foo')
    .email('foo@gmail.com');
 
user.save(function(err) {
  // do something
});

API

Pouch(instance)

Initialize adaptor with a PouchDB instance.

Model.all(callback)

Get all models (static method)

Model.find(id, callback)

Find a model (static method)

Model.createDesignDoc(name, mapFunction, callback)

Create a design document and store it in PouchDB instance

Model.query(name, options, callback)

Query view named name, with PouchDB options, returning callback with an error or array of result docs

model.save([options], callback)

Save the model (instance method)

model.remove([options], callback)

Remove the model (instance method)

Caveats

modella-pouchdb attaches a _rev attribute to every model. This attribute is used and managed by the adaptor when updating documents in the database. Note that if you modify this attribute on your models you will most likely encounter errors.

Test

npm install && make test

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i modella-pouchdb

Weekly Downloads

0

Version

1.0.1

License

MIT

Last publish

Collaborators

  • kvnneff
  • staygrimm