ReadonlynameThe name of the store (e.g. 'mongodb', 'redis', 'dynamodb')
ReadonlylibraryThe client library being used
Access the underlying native client for operations not wrapped here
Store a document in collection; returns the id used.
Load a document by id.
Load, merge patch, and save; returns the updated entity.
Delete a document by id.
Query collection with an ORM where clause. The where object accepts
the full ORM operator surface (Op.gt, Op.in, Op.between, Op.like,
Op.and/Op.or, ...), translated to native RavenDB session-query
conditions - so a plain { field: value } still behaves as equality, but
richer queries no longer require hand-written RQL. Bare-field values are
ANDed together (Op.* comparisons expand per field).
Fetch all documents in collection matching an ORM where clause, with
optional ordering, offset (skip), and limit (take).
Fetch the first document in collection matching an ORM where clause (respecting order), or null.
Count documents in collection matching an ORM where clause.
Store multiple documents in a single session/transaction (one
saveChanges()). Returns the ids assigned to each document, in order.
Insert-or-update by id: loads the document, merges doc into it if it
exists, otherwise stores doc fresh - all in one session. Returns the id.
Optionalid: stringUpdate every document in collection matching an ORM where clause,
merging patch into each, in a single session/transaction. Returns the
number of documents updated.
Delete every document in collection matching an ORM where clause, in a
single session/transaction. Returns the number of documents deleted.
Grouped aggregation over collection (count/sum/avg/min/max),
with an optional ORM where pre-filter. Computed client-side over the
matched documents so callers get standard GROUP BY-style results without
hand-writing an RQL group by/index. Returns one entry per group:
{ group, ...aggregates }.
Run fn inside a single RavenDB session (unit of work), passing the
session so multiple store/load/delete operations commit atomically with
one saveChanges(). RavenDB sessions are ACID transactions, so this is
the native way to make multi-document changes all-or-nothing.
Base interface for NoSQL stores.
NoSQL engines (document stores, key-value caches, partition-key stores) do not share the SQL-shaped
Dialectinterface (noquery(sql), no identifier escaping, no DDL).NoSqlStoreis intentionally minimal: connection lifecycle plus arawescape hatch. Each store's real API surface (find/insert/update for Mongo, hash/list/set ops for Redis, item CRUD for DynamoDB) lives on its own class, not on this interface, because forcing them into one shared query shape would misrepresent what each engine can actually do.