Link Search Menu Expand Document

CouchDB Cheat Sheet

Monitoring

GET /_stats
GET /_active_tasks

HTTP Lifecycle API

Database Replication

The most confusing part about CouchDB is replication being enabled by a manual HTTP request that specifies replication source and target.

POST /_replicate
{'source': 'http://myserver2/mydb', 'target': 'mydb', 'continuous': true, 'create_target': true}

Be sure to recheck the response JSON for “ok”: “true”

Database Vacuum

POST /<db>/_compact
POST /<db>/_compact/designname

Cleaning Old Views

POST /<db>/_view_cleanup

HTTP Data API

Databases

GET /_all_dbs       # returns JSON list of DB names
GET /<db>        # returns JSON hash of infos for <db>
PUT /<db>        # created DB <db>
DELETE /<db>

Changes

GET /<db>/_changes       # list changes, useful GET parameters:
                #  
                # since=<nr of seconds>
                # timeout<nr of ms>

View live changes (update every 1s)

GET /<db>/_changes?feed=continous&heartbeat=1000

Documents

# Get List
GET /<db>/_all_docs?limit=100
GET /<db>/_all_docs?include_docs=true

# Get Documents
GET /<db>/doc?rev=<nr>

POST /<db>/_all_docs
{'keys':['my_document']}

# Create Document
POST /<db>/<id>
{'name':'my_document'}

DELETE /<db>/<id>

# Bulk Update
POST /<db>/_bulk_docs

Attachments

GET /<db>/doc                # Get attachments list
GET /<db>/doc/<name>          # Get attachments list
PUT /<db>/doc                # Add an attachment
DELETE /<db>/doc/<name>?rev=<revision> # And delete it...

Views

GET /<db>/_design/<view>      # Get view definition
GET /<db>/_design/<view>/_info        # Get view status
GET /<db>/_design/<view>/<view name>   # Get view results

Lists

GET /<db>/_design/<view>/_list/<list name>/<view name>

Show Functions

GET /<db>/_design/<view>/_show/<show function>
GET /<db>/_design/<view>/_show/<show function>/<document id>
GET /<db>/_design/<view>/_show/<show function>/<document id>?<params>