Stupid simple Couch wrapper based on Request
Last updated 5 years ago by joeybaker .
Artistic-2.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @getable/couch 
SYNC missed versions from official npm registry.

couch NPM version Build Status Dependency Status

Stupid simple Couch wrapper based on Request

Table of Contents generated with DocToc


npm install couch


var couch = require('couch')
  , c = couch('http://me.iriscouch.com/db')

c.post({'msg':'new document'}, function (e, info) {
  if (e) throw e
  c.post({'msg':'new document', _id:info.id, _rev:info.rev}, function (e, info) {
    if (e) throw e
    c.get(info.id, function (e, doc) {
      if (e) throw e
      console.log(doc) // {'msg':'new document', _id:<id>, _rev:<rev>}


  • new Couch(options) - return value from require('couch')(url)
  • Couch.get(id, cb) - get a document of the specified id
  • Couch.post(doc, cb) - write a document. MUST have _id and _rev if already exists
  • Couch.update(id, mutate, cb) - updated an existing document atomically (regardless of revision)
c.update('myid', function (doc) {doc.status = 'complete'}, function (e, info) {
 if (e) throw e
 console.log(info) // {seq:<seq>, id:<id>, rev:<rev>}


  • Couch.all(opts, cb) - Hits the /db/_all_docs API which accepts similar arguments and has a simpilar return value to views but is an index of all documents in CouchDB.
c.all({keys:['onlykey1', 'onlykey2']}, function (e, results) {
  if (e) throw e
  console.log(results.rows) // [{id:onlykey1, rev:<rev>}, {id:onlykey2, rev:<rev>}]
  • Couch.design(name).view(name).query(opts)
c.design('app').view('byProperty').query({key:'type', include_docs:true}, function (e, results) {


Tests are in tape.

  • npm test will run the tests
  • npm run tdd will run the tests on every file change.


To publish, run npm run release -- [{patch,minor,major}]

NOTE: you might need to sudo ln -s /usr/local/bin/node /usr/bin/node to ensure node is in your path for the git hooks to work


  • npm > 2.0.0 So that passing args to a npm script will work. npm i -g npm
  • git > 1.8.3 So that git push --follow-tags will work. brew install git


Artistic 2.0 © Mikeal Rogers

Current Tags

  • 0.7.0                                ...           latest (5 years ago)

2 Versions

  • 0.7.0                                ...           5 years ago
  • 0.6.0                                ...           5 years ago
Maintainers (2)
Today 0
This Week 0
This Month 2
Last Day 0
Last Week 2
Last Month 1
Dependencies (1)
Dev Dependencies (9)
Dependents (0)

Copyright 2014 - 2016 © taobao.org |