Nefarious Pomegranate Magnate

    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

    Keywords

    none

    Install

    npm i modella-pouchdb

    DownloadsWeekly Downloads

    5

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • kvnneff
    • staygrimm