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.