FirebaseFirestore class

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 = Firebase.app('SecondaryApp');

FirebaseFirestore firestore = FirebaseFirestore.instanceFor(app: secondaryApp);
Inheritance
  • Object
  • PlatformInterface
  • FirebasePluginPlatform
  • FirebaseFirestore

Properties

app ↔ FirebaseApp
The FirebaseApp for this current FirebaseFirestore instance.
getter/setter pair
databaseId String
Firestore Database ID for this instance. Falls back to default database: "(default)"
getter/setter pair
databaseURL String
Firestore Database ID for this instance. Falls back to default database: "(default)" This is deprecated in favor of databaseId.
getter/setter pair
hashCode int
The hash code for this object.
no setteroverride
pluginConstants Map
Returns any plugin constants this plugin app instance has initialized.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
settings Settings
The current Settings for this FirebaseFirestore instance.
getter/setter pair

Methods

batch() WriteBatch
Returns a WriteBatch, used for performing multiple writes as a single atomic operation.
clearPersistence() Future<void>
Clears the persistent storage, including pending writes and cached documents.
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 for web-only. Use Settings.persistenceEnabled for non-web platforms. If enablePersistence() is not called, it defaults to Memory cache. If enablePersistence(const PersistenceSettings(synchronizeTabs: false)) is called, it persists data for a single browser tab. If enablePersistence(const PersistenceSettings(synchronizeTabs: true)) is called, it persists data across multiple browser tabs.
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.
namedQueryWithConverterGet<T>(String name, {GetOptions options = const GetOptions(), required FromFirestore<T> fromFirestore, required ToFirestore<T> toFirestore}) Future<QuerySnapshot<T>>
Performs a namedQueryGet and decode the result using Query.withConverter.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
persistentCacheIndexManager() PersistentCacheIndexManager?
runTransaction<T>(TransactionHandler<T> transactionHandler, {Duration timeout = const Duration(seconds: 30), int maxAttempts = 5}) Future<T>
Executes the given TransactionHandler and then attempts to commit the changes applied within an atomic transaction.
setIndexConfiguration({required List<Index> indexes, List<FieldOverrides>? fieldOverrides}) Future<void>
Configures indexing for local query execution. Any previous index configuration is overridden.
setIndexConfigurationFromJSON(String json) Future<void>
Configures indexing for local query execution. Any previous index configuration is overridden.
snapshotsInSync() Stream<void>
Returns a Stream which is called each time all of the active listeners have been synchronized.
terminate() Future<void>
Terminates this FirebaseFirestore instance.
toString() String
A string representation of this object.
override
useFirestoreEmulator(String host, int port, {bool sslEnabled = false, bool automaticHostMapping = true}) → 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.

Operators

operator ==(Object other) bool
The equality operator.
override

Static Properties

instance FirebaseFirestore
Returns an instance using the default FirebaseApp.
no setter

Static Methods

instanceFor({required FirebaseApp app, String? databaseURL, String? databaseId}) FirebaseFirestore
Returns an instance using a specified FirebaseApp.
setLoggingEnabled(bool enabled) Future<void>
Globally enables / disables Cloud Firestore logging for the SDK.