couchdb-mkdb
couchdb-mkdb
makes it easy to create databases and stream couchdb's response.
Installation
$ npm i -S couchdb-mkdb
Usage
Express example
This express route creates new databases on every request.
...
app.post('/', (req, res, next) => {
let name = 'mydb-' + uuid.v1();
let opts = {
security: {
admins: {names: [req.user.name], roles: []},
members: {names: [], roles: []}
},
baseUrl: app.get('couchdb'),
auth: app.get('auth')
};
mkdb(name, opts)
.on('error', next)
.on('response', function(response) {
if ((response.statusCode / 100 | 0) !== 2) {
console.log('Database wasn\'t created or security couldn\'t be updated');
}
response.pipe(
res.set(response.headers)
.status(response.statusCode)
);
})
.on('success', function() {
console.log('Database successfully created');
});
});
API
mkdb(name, [opts], callback)
name
The name of the databaseopts
Optional options object. See belowcallback
Function with the signature fn(error, response)
Available options are:
All other options are passed to the underlaying
request()
function.
Events
error(err)
- Emitted on request errorerrorResponse(res)
- deprecated Emitted when couchdb returns a paranormal response. See Update notesresponse(res)
- Emitted when couchdb responds to the last actionsuccess
- Emitted on success
Tests
$ git clone https://github.com/domachine/node-couchdb-mkdb.git
$ cd node-couchdb-mkdb
$ npm i
$ npm test
Update notes
v2.0
mkdb
now uses request as transport
engine. Therefore the options you can pass are similar to
request's options. See
docs.
v1.1
The first version had an 'errorResponse' event. This has now been deprecated.
Use the 'response' event instead and check the statusCode.