pouchdb-seed-design
Seed CouchDB design documents with PouchDB
.
##Build status
Installation
npm install pouchdb-seed-design
Usage
var PouchDB = require('pouchdb');
var seed = require('pouchdb-seed-design');
var db = new PouchDB('http://localhost:5984/design');
seed(db, {
person: {
views: {
byFirstName: function (doc) {
emit(doc.firstName);
},
byLastName: function (doc) {
emit(doc.lastName);
},
byFullName: function (doc) {
emit(doc.firstName + ' ' + doc.lastName);
}
}
}
}, function () {
console.dir(arguments);
});
API
pouchdb-seed-design(db, design, cb)
db
(object
, required) - PouchDB
(or compatible) database objectdesign
(object
, required) - design objectcb
(function
, optional) - callback
Creates a set of CouchDB design documents basing on design
object. Each key in design
object becomes a separate design document called ('_design/' + key
).
If no changes between remote design documents and design
object are detected, no updates are sent to CouchDB.
In addition to invoking the optional callback, seed also returns a Bluebird Promise.
seed(db, design)
.then(function(results) {
console.log(results);
}, function(err){
console.log(err);
});
Updates
(0.2.0) 2015-09-16
Added support for filters
, lists
, shows
, and validate_doc_update
thanks to Will Holley. Updated to PouchDB 4.0.X
. Removed Bluebird Promise dependency, preferring native and using lie as a fallback.
Credits
This project is forked from couchdb-seed-design by Maciej Małecki.
A huge round of applause goes to Dale Harvey, Calvin Metcalf, and Nolan Lawson for all the tireless work they put into maintaining PouchDB!
And a special thanks goes to Mirco Zeiss for all the awesome blog articles on how to use Node.js, Express, and CouchDB!