Skip to content
Browse files

Adding some documentation.

  • Loading branch information...
1 parent ed0469e commit 5bdbb79d2534db8022cf738856c87e0837d9e556 @mikeal committed Feb 27, 2012
Showing with 66 additions and 0 deletions.
  1. +66 −0 README.mkd
View
66 README.mkd
@@ -0,0 +1,66 @@
+# couch -- Stupid simple Couch wrapper based on Request.
+
+## Install
+
+<pre>
+ npm install couch
+</pre>
+
+Or from source:
+
+<pre>
+ git clone git://github.com/mikeal/couch.git
+ cd couch
+ npm link
+</pre>
+
+## 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:<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)
+
+```javascript
+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.
+
+```javascript
+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)
+
+```javascript
+c.design('app').view('byProperty').query({key:'type', include_docs:true}, function (e, results) {
+ console.log(results.rows)
+})
+```

0 comments on commit 5bdbb79

Please sign in to comment.
Something went wrong with that request. Please try again.