FirebaseFirestore class Null safety

The entry point for accessing a FirebaseFirestore.

You can get an instance by calling FirebaseFirestore.instance. The instance can also be created with a secondary Firebase app by calling FirebaseFirestore.instanceFor, for example:

FirebaseApp secondaryApp ='SecondaryApp');

FirebaseFirestore firestore = FirebaseFirestore.instanceFor(app: secondaryApp);


app FirebaseApp
The FirebaseApp for this current FirebaseFirestore instance.
read / write
hashCode int
The hash code for this object. [...]
read-only, override
pluginConstants Map
Returns any plugin constants this plugin app instance has initialized.
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
settings Settings
The current Settings for this FirebaseFirestore instance.
read / write


batch() WriteBatch
Returns a WriteBatch, used for performing multiple writes as a single atomic operation. [...]
clearPersistence() Future<void>
Clears any persisted data for the current instance.
collection(String collectionPath) CollectionReference<Map<String, dynamic>>
Gets a CollectionReference for the specified Firestore path.
collectionGroup(String collectionPath) Query<Map<String, dynamic>>
Gets a Query for the specified collection group.
disableNetwork() Future<void>
Instructs FirebaseFirestore to disable the network for the instance. [...]
doc(String documentPath) DocumentReference<Map<String, dynamic>>
Gets a DocumentReference for the specified Firestore path.
enableNetwork() Future<void>
Enables the network for this instance. Any pending local-only writes will be written to the remote servers.
enablePersistence([PersistenceSettings? persistenceSettings]) Future<void>
Enable persistence of Firestore data. [...]
loadBundle(Uint8List bundle) LoadBundleTask
namedQueryGet(String name, {GetOptions options = const GetOptions()}) Future<QuerySnapshot<Map<String, dynamic>>>
Reads a QuerySnapshot if a namedQuery has been retrieved and passed as a Buffer to loadBundle(). To read from cache, pass GetOptions.source value as Source.cache. To read from the Firestore backend, use GetOptions.source as Source.server.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
runTransaction<T>(TransactionHandler<T> transactionHandler, {Duration timeout = const Duration(seconds: 30)}) Future<T>
Executes the given TransactionHandler and then attempts to commit the changes applied within an atomic transaction. [...]
snapshotsInSync() Stream<void>
Returns a Stream which is called each time all of the active listeners have been synchronised.
terminate() Future<void>
Terminates this FirebaseFirestore instance. [...]
toString() String
A string representation of this object. [...]
useFirestoreEmulator(String host, int port, {bool sslEnabled = false}) → void
Changes this instance to point to a FirebaseFirestore emulator running locally. [...]
waitForPendingWrites() Future<void>
Waits until all currently pending writes for the active user have been acknowledged by the backend. [...]


operator ==(Object other) bool
The equality operator. [...]

Static Properties

instance FirebaseFirestore
Returns an instance using the default FirebaseApp.

Static Methods

instanceFor({required FirebaseApp app}) FirebaseFirestore
Returns an instance using a specified FirebaseApp.