CouchDB Cheat Sheet
CouchDB's HTTP API, document revisions, map/reduce views, and built-in replication model for offline-first JSON document storage.
2 PagesIntermediateMar 10, 2026
HTTP API Basics
Managing databases and documents with curl.
bash
# Create a databasecurl -X PUT http://localhost:5984/mydb# Create a documentcurl -X POST http://localhost:5984/mydb \ -H "Content-Type: application/json" \ -d '{"name": "Alice", "email": "a@b.com"}'# Get a documentcurl http://localhost:5984/mydb/<doc_id># Update requires the current _revcurl -X PUT http://localhost:5984/mydb/<doc_id> \ -d '{"_rev": "1-abc123", "name": "Alice2"}'
Views (Map/Reduce)
Querying data with a design document.
javascript
// Design document defining a view{ "_id": "_design/users", "views": { "by_email": { "map": "function (doc) { if (doc.email) { emit(doc.email, doc); } }" } }}// Query it: GET /mydb/_design/users/_view/by_email?key="a@b.com"
Core Concepts
How CouchDB stores and syncs documents.
- Document- a JSON object with a unique _id and a system-managed _rev
- _rev- revision token used for MVCC-based conflict detection on every update
- Design document- a special document (_id starts with _design/) that holds views
- MVCC- CouchDB never overwrites data in place; every update creates a new revision
- Replication- built-in, bidirectional, works over plain HTTP for offline-first sync
- _changes feed- a stream of document changes used to drive replication
Pro Tip
Always send the current _rev when updating or deleting a document — CouchDB rejects writes carrying a stale _rev, which is how it surfaces conflicts instead of silently overwriting concurrent edits.
Was this cheat sheet helpful?
Explore Topics
#CouchDB#CouchDBCheatSheet#Database#Intermediate#HTTPAPIBasics#ViewsMapReduce#CoreConcepts#HTTP#Databases#Networking#APIs#CheatSheet#SkillVeris
Advertisement
Sri Hayavadhana Info-Tech
Professional Web Designing Services
- Responsive Websites
- E-commerce Solutions
- SEO Friendly Design
- Fast & Secure
- Support & Maintenance