Socket
Book a DemoInstallSign in
Socket

@getable/couch

Package Overview
Dependencies
Maintainers
2
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@getable/couch

Stupid simple Couch wrapper based on Request

0.7.0
latest
Source
npmnpm
Version published
Maintainers
2
Created
Source

couch NPM version Build Status Dependency Status

Stupid simple Couch wrapper based on Request

Table of Contents generated with DocToc

Install

npm install couch

Usage

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>}
    })
  })
})

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)
c.update('myid', function (doc) {doc.status = 'complete'}, function (e, info) {
 if (e) throw e
 console.log(info) // {seq:<seq>, id:<id>, rev:<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.
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) {
  console.log(results.rows)
})

Tests

Tests are in tape.

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

Developing

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

Requirements

  • 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

License

Artistic 2.0 © Mikeal Rogers

Keywords

REST

FAQs

Package last updated on 15 May 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.