cloud_firestore library Null safety


Represents binary data stored in Uint8List.
CollectionReference<T extends Object?>
DocumentChange<T extends Object?>
A DocumentChange represents a change to the documents matching a query.
DocumentReference<T extends Object?>
A DocumentReference refers to a document location in a FirebaseFirestore database and can be used to write, read, or listen to the location.
DocumentSnapshot<T extends Object?>
A DocumentSnapshot contains data read from a document in your FirebaseFirestore database.
A FieldPath refers to a field in a document.
Sentinel values that can be used when writing document fields with set() or update().
The entry point for accessing a FirebaseFirestore.
Represents a geographical point by its longitude and latitude
An options class that configures the behavior of get() calls on DocumentReference and Query.
Equality on lists.
A LoadBundleTaskSnapshot is returned as the result or on-going process of a LoadBundleTask.
A settings class that can be passed to Firestore.enablePersistence() to configure Firestore persistence. Only supported for Web.
Query<T extends Object?>
Represents a Query over the data at a particular location.
QueryDocumentSnapshot<T extends Object?>
A QueryDocumentSnapshot contains data read from a document in your FirebaseFirestore database as part of a query.
QuerySnapshot<T extends Object?>
Contains the results of a query. It can contain zero or more DocumentSnapshot objects.
An options class that configures the behavior of set() calls in DocumentReference, WriteBatch and Transaction.
Specifies custom configurations for your Cloud Firestore instance.
Metadata about a snapshot, describing the state of the snapshot.
Options that configure how data is retrieved from a DocumentSnapshot (e.g. the desired behavior for server timestamps that have not yet been set to their final value).
A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.
Transaction class which is created from a call to runTransaction().
A WriteBatch is a series of write operations to be performed as one unit.


An enumeration of document change types.
An enumeration of firestore source types.


FromFirestore<T> = T Function(DocumentSnapshot<Map<String, dynamic>> snapshot, SnapshotOptions? options)
ToFirestore<T> = Map<String, Object?> Function(T value, SetOptions? options)
TransactionHandler<T> = Future<T> Function(Transaction transaction)
The TransactionHandler may be executed multiple times; it should be able to handle multiple executions.

Exceptions / Errors

A generic class which provides exceptions in a Firebase-friendly format to users.