Type aliases


DocumentChangeType: "added" | "removed" | "modified"

The type of a DocumentChange may be 'added', 'removed', or 'modified'.


DocumentData: object

Document data (for use with DocumentReference.set()) consists of fields mapped to values.

Type declaration

  • [field: string]: any


FirestoreErrorCode: "cancelled" | "unknown" | "invalid-argument" | "deadline-exceeded" | "not-found" | "already-exists" | "permission-denied" | "resource-exhausted" | "failed-precondition" | "aborted" | "out-of-range" | "unimplemented" | "internal" | "unavailable" | "data-loss" | "unauthenticated"

The set of Firestore status codes. The codes are the same at the ones exposed by gRPC here:

Possible values:

  • 'cancelled': The operation was cancelled (typically by the caller).
  • 'unknown': Unknown error or an error from a different error domain.
  • 'invalid-argument': Client specified an invalid argument. Note that this differs from 'failed-precondition'. 'invalid-argument' indicates arguments that are problematic regardless of the state of the system (e.g. an invalid field name).
  • 'deadline-exceeded': Deadline expired before operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire.
  • 'not-found': Some requested document was not found.
  • 'already-exists': Some document that we attempted to create already exists.
  • 'permission-denied': The caller does not have permission to execute the specified operation.
  • 'resource-exhausted': Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.
  • 'failed-precondition': Operation was rejected because the system is not in a state required for the operation's execution.
  • 'aborted': The operation was aborted, typically due to a concurrency issue like transaction aborts, etc.
  • 'out-of-range': Operation was attempted past the valid range.
  • 'unimplemented': Operation is not implemented or not supported/enabled.
  • 'internal': Internal errors. Means some invariants expected by underlying system has been broken. If you see one of these errors, something is very broken.
  • 'unavailable': The service is currently unavailable. This is most likely a transient condition and may be corrected by retrying with a backoff.
  • 'data-loss': Unrecoverable data loss or corruption.
  • 'unauthenticated': The request does not have valid authentication credentials for the operation.


LogLevel: "debug" | "error" | "silent"


OrderByDirection: "desc" | "asc"

The direction of a Query.orderBy() clause is specified as 'desc' or 'asc' (descending or ascending).


UpdateData: object

Update data (for use with DocumentReference.update()) consists of field paths (e.g. 'foo' or 'foo.baz') mapped to values. Fields that contain dots reference nested fields within the document.

Type declaration

  • [fieldPath: string]: any


WhereFilterOp: "<" | "<=" | "==" | ">=" | ">" | "array-contains" | "in" | "array-contains-any"

Filter conditions in a Query.where() clause are specified using the strings '<', '<=', '==', '>=', '>', 'array-contains', 'in', and 'array-contains-any'.




Constant used to indicate the LRU garbage collection should be disabled. Set this value as the cacheSizeBytes on the settings passed to the Firestore instance.



  • setLogLevel(logLevel: LogLevel): void
  • Sets the verbosity of Cloud Firestore logs (debug, error, or silent).


    • logLevel: LogLevel

      The verbosity you set for activity and error logging. Can be any of the following values:

      • debug for the most verbose logging level, primarily for debugging.
      • error to log errors only.
      • silent to turn off logging.

    Returns void