Database guides

Apache CouchDB

Updated 2026-08-11 · 2 min read

A document store whose entire API is HTTP and JSON. Unrelated to Couchbase beyond the name.

Apache CouchDB is a document database where every database, document and view is a URL and every response is JSON. AddisDB talks to it over that REST API directly.

Who it is for

CouchDB’s distinguishing feature is replication — bidirectional, conflict-aware sync between servers and between a server and a client. That makes it a natural fit for offline-capable and edge applications, where a device holds its own copy and reconciles later.

It stores schemaless JSON documents, each with an _id and a revision (_rev). Queries are either Mango selectors, which read like MongoDB filters, or map/reduce views defined in design documents.

Set up the server

  1. Note the host and port — 5984 for HTTP, 6984 for HTTPS.
  2. Note an admin username and password. A CouchDB in “admin party” mode has none, but any real deployment will.
  3. Optionally note a database to scope the tree to; leaving it blank shows every non-system database on the server.
curl -u admin:PASSWORD http://localhost:5984/_all_dbs

Connect from AddisDB

  1. New Connection → Apache CouchDB. Port prefills to 5984 and username to admin.
  2. Enter the host and credentials.
  3. Optionally enter a database to focus on. Test, then Save.

What AddisDB gives you

The query editor accepts three forms. Typing a bare database name lists its documents. Typing a JSON object runs it as a Mango selector against the connection’s database. Writing a full request — GET /_all_dbs, or POST /orders/_find with a body — reaches anything else the API exposes.

Documents are flattened into the grid, so _id and _rev appear as ordinary columns beside each document’s own fields. The schema tree lists databases and infers their columns by sampling real documents, which is the honest answer for a store with no declared schema.

The Live Monitor reports document counts and data size per database, which is enough to drive size alerts. It does not show sessions: CouchDB’s _active_tasks lists compaction and replication jobs rather than client connections, and there is nothing there a user could cancel.