CouchSet

CouchSet documentation

A typed Couchbase model layer with explicit operational primitives.

CouchSet is a Couchbase model layer for TypeScript and Node.js. It keeps key-value and SQL++ capabilities visible while adding model metadata, typed reads, validation, relationships, transactions, Search, Eventing, and operational planning.

Choose the entrypoint deliberately

The package root, couchset, is the compatibility-oriented legacy API. New applications should normally import from couchset/next, which contains the modern singleton API and client-owned primitives described here.

What CouchSet is (and is not)

CouchSet doesCouchSet does not
Typed models, safe filters, codecs, hooksHide Couchbase behind a magic ORM
Explicit collection / index / Search / Eventing plansCreate resources merely because you imported a model
Client-owned registries and transactionsClaim authorization from soft-delete or defaultWhere filters
Search, geo, time-series, Eventing helpersAuto-drop indexes or Eventing functions

Start here

Capability map

NeedRead
Validation, dates, and transformsValidation and codecs
Typed relationships and document methodsRelationships and hydration
Collections, indexes, transactions, and CASProvisioning and transactions
Plugins, hooks, scopes, bulk, and instrumentationExtensions
Full-text, vector, hybrid, and geoSearch and geospatial
Eventing plan/apply lifecycleEventing
Time-series chunks and rangesTime series
CLI plan/apply commandsOperations and CLI
Exports and concise signaturesAPI reference

Suggested path

  1. Getting started → first insert/get
  2. Models + CRUD → day-to-day data access
  3. Provisioning → make keyspaces and indexes real
  4. Pick capabilities as needed: relationships, Search, Eventing, time series

CouchSet does not create collections or indexes merely because a model was imported or bound. Provisioning, replacement, cleanup, and Eventing deployment are explicit.

On this page