Last Updated: November 21, 2025
CouchDB
NoSQL document database
Core Features
| Item | Description |
|---|---|
Document-Oriented
|
Store JSON documents |
HTTP API
|
RESTful interface |
MapReduce Views
|
Query with JavaScript |
Replication
|
Multi-master sync |
Conflict Resolution
|
MVCC for conflicts |
Offline-First
|
Works without network |
HTTP API Examples
curl -X PUT http://localhost:5984/mydb
Create database
curl -X POST http://localhost:5984/mydb -d '{...}'
Create document
curl http://localhost:5984/mydb/doc_id
Get document
curl -X DELETE http://localhost:5984/mydb/doc_id?rev=...
Delete document
MapReduce View
// Map function
function(doc) {
if (doc.type === 'user') {
emit(doc.name, doc.email);
}
}
// Reduce function
function(keys, values, rereduce) {
return sum(values);
}
Best Practices
- Design documents around your queries
- Use views for complex queries
- Leverage replication for offline support
- Handle conflicts explicitly
💡 Pro Tips
Quick Reference
CouchDB excels at offline-first applications