couchdb
1
总安装量
1
周安装量
#46714
全站排名
安装命令
npx skills add https://github.com/g1joshi/agent-skills --skill couchdb
Agent 安装分布
mcpjam
1
claude-code
1
replit
1
junie
1
zencoder
1
Skill 文档
Apache CouchDB
CouchDB is a database that completely embraces the web. It speaks JSON and HTTP. It is unique for its multi-master replication protocol, making it ideal for “Offline First” apps.
When to Use
- Offline First Apps: PouchDB (in browser) + CouchDB (server) is the gold standard for syncing data.
- Peer-to-Peer: Multiple servers can replicate with each other.
- Reliability: Crash-resistant architecture (Append-only storage).
Quick Start
# Create a document via REST API
curl -X PUT http://admin:password@127.0.0.1:5984/my_database/doc1 \
-d '{"key": "value"}'
Core Concepts
Multi-Version Concurrency Control (MVCC)
Documents are versioned (_rev). If you update a doc, you must provide the current _rev. If it has changed on server, you get a conflict (409).
CommonJS MapReduce
Views are written in JavaScript functions (Map/Reduce).
Conflict Resolution
Since replication is multi-master, conflicts happen. CouchDB keeps all conflicting revisions and lets the app execute logic to pick a winner.
Best Practices (2025)
Do:
- Use PouchDB: On the client side. It syncs automatically.
- Use Mango Queries (Find): Easier than writing MapReduce views for simple lookups.
- Compact: The append-only file grows forever. Run compaction regularly.
Don’t:
- Don’t use as a generic backend: It is specialized for sync. If you don’t need sync, Postgres/Mongo is often simpler.