Effect services over the Firebase Admin and client SDKs, with a portable core that code can be written against once and run on either.
Firestore: The portable Firestore service: only what both SDKs can do, with the same meaning on each. Unqualified, it always means this one. Avoid: core Firestore, generic Firestore, base Firestore
Admin Firestore: A Firestore that also offers what only the Admin SDK can do. Avoid: SDK Firestore, server Firestore
Client Firestore: A Firestore that also offers what only the client SDK can do. Avoid: SDK Firestore, web Firestore
Portable code: Code that asks only for Firestore and so runs against either SDK. Avoid: generic code, shared code
Transaction: The portable reads and writes a single Firestore transaction is made of, as handed to its body.
Admin Transaction: A Transaction that can also read every document in a collection or a Collection Group.
Collection Group: The collections the model defines under one collection id, wherever each sits, read together as one. Each document read through it still belongs to the one collection it lives in. Avoid: group query, all collections named X
Collection Key: A name for one collection the model defines that a model's own fields can use before that collection exists, such as a user's reference to another user. A Document Reference typed through it is the same as one typed by the collection. Avoid: collection type, collection handle, collection ref
Document Snapshot: What reading one document hands back: either an existing document or a missing one.
Query Snapshot: What reading many documents at once hands back, holding the documents as one result. Avoid: document list, docs array
Snapshot Metadata: What the client SDK reports about where a snapshot came from: whether it was served from the local cache, and whether it reflects writes not yet acknowledged by the server.
Firestore Value: A value as Firestore stores it, independent of either SDK: a scalar, a timestamp, a geopoint, a Document Path, bytes, a sentinel, or an array or map of Firestore Values. Avoid: encoded value, SDK value, raw value
Document Reference: A reference to a document in a collection the model defines, and so typed by what that document holds. It is not a Firestore Value: Firestore stores it as its Document Path.
Document Path: A reference to a document as Firestore stores it: the document's path and nothing else, saying nothing of what the document holds. Avoid: untyped reference, reference value, raw reference
Shared Field: A field every member of a union holds, and so one a document holding the union can be patched at without knowing which member it holds, with a value every member accepts and stores the same way. Avoid: common field
Function: A server function declared once by its name and what runs it: a call from the client for a Callable, a change to a document for a Document Trigger. Its name is unique within its Function Group. A Function in no group is deployed under its own name. Avoid: cloud function, endpoint
Function Group: A named set of Functions of any kind, deployed under the group's name as a prefix. A Function may be added to more than one group, and each group serves and implements it separately. Groups do not nest. Avoid: api, router, namespace, Callable Group
Callable: A Function the client calls by name, declared once as its name, its Payload, what it succeeds with and the errors it can fail with. Avoid: rpc, endpoint, callable function (for the declaration)
Payload: What the client sends when calling a Callable. Avoid: request, input, data
Callable Handler: What runs on the server to answer calls to one Callable. Avoid: implementation, resolver
Callable Function: The deployed Firebase function that serves exactly one Callable. Avoid: cloud function, onCall export
Callable Client: What the app uses to call the Callables of one Function Group, or one Callable in no group, all in one region. Avoid: stub, proxy, rpc client
Callable Middleware: What runs around every call to the Callables it is attached to, before the Payload is read. It is attached to each Callable on its own; a Function Group carries none. It can reject the call, or tell the Callable Handler more about it, and the errors it can fail with are part of each Callable it is attached to. Avoid: guard, interceptor
Caller: The signed-in user making a call to a Callable. Avoid: user, current user, auth
Document Trigger: A Function that runs when a document in one defined collection is created, updated, deleted, or written in any of those ways. Avoid: firestore trigger, listener, onDocument function