# couch **Repository Path**: mirrors_mikeal/couch ## Basic Information - **Project Name**: couch - **Description**: Stupid simple Couch wrapper based on Request - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-09 - **Last Updated**: 2025-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # couch -- Stupid simple Couch wrapper based on Request. ## Install
  npm install couch
Or from source:
  git clone git://github.com/mikeal/couch.git 
  cd couch
  npm link
## Usage ```javascript 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:, _rev:} }) }) }) ``` ## Couch * 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) ```javascript c.update('myid', function (doc) {doc.status = 'complete'}, function (e, info) { if (e) throw e console.log(info) // {seq:, id:, rev:} }) ``` ## Views * 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. ```javascript c.all({keys:['onlykey1', 'onlykey2']}, function (e, results) { if (e) throw e console.log(results.rows) // [{id:onlykey1, rev:}, {id:onlykey2, rev:}] }) ``` * Couch.design(name).view(name).query(opts) ```javascript c.design('app').view('byProperty').query({key:'type', include_docs:true}, function (e, results) { console.log(results.rows) }) ```