@firebase/firestore

Les fonctions

Fonction Description
fonction(application, ...)
getFirestore (application) Renvoie l'instance Firestore par défaut existante associée à la FirebaseApp fournie . Si aucune instance n'existe, initialise une nouvelle instance avec les paramètres par défaut.
getFirestore (application, ID de base de données) (BETA) Renvoie l'instance Firestore nommée existante associée à la FirebaseApp fournie . Si aucune instance n'existe, initialise une nouvelle instance avec les paramètres par défaut.
initializeFirestore (application, paramètres, identifiant de base de données) Initialise une nouvelle instance de Firestore avec les paramètres fournis. Ne peut être appelé qu'avant toute autre fonction, y compris getFirestore() . Si les paramètres personnalisés sont vides, cette fonction équivaut à appeler getFirestore() .
fonction (firestore, ...)
clearIndexedDbPersistence (firestore) Efface le stockage persistant. Cela inclut les écritures en attente et les documents mis en cache. Doit être appelé lorsque l'instance Firestore n'est pas démarrée (après la fin de l'application ou lors de la première initialisation de l'application). Au démarrage, cette fonction doit être appelée avant les autres fonctions (autres que initializeFirestore() ou getFirestore() )). Si l'instance Firestore est toujours en cours d'exécution, la promesse sera rejetée avec le code d'erreur failed-precondition . Remarque : clearIndexedDbPersistence() est principalement destiné à aider à écrire des tests fiables utilisant Cloud Firestore. Il utilise un mécanisme efficace pour supprimer les données existantes, mais ne tente pas d'écraser en toute sécurité ou de rendre irrécupérables les données mises en cache. Pour les applications sensibles à la divulgation des données mises en cache entre les sessions utilisateur, nous recommandons fortement de ne pas activer du tout la persistance.
collection (firestore, chemin, cheminSegments) Obtient une instance CollectionReference qui fait référence à la collection au chemin absolu spécifié.
collectionGroup(firestore, collectionId) Crée et renvoie une nouvelle instance Query qui inclut tous les documents de la base de données contenus dans une collection ou une sous-collection avec le collectionId donné.
connectFirestoreEmulator (firestore, hôte, port, options) Modifiez cette instance pour communiquer avec l'émulateur Cloud Firestore. Remarque : Ceci doit être appelé avant que cette instance ne soit utilisée pour effectuer des opérations.
désactiver le réseau (firestore) Désactive l'utilisation du réseau pour cette instance. Il peut être réactivé via activateNetwork() . Lorsque le réseau est désactivé, tous les écouteurs d'instantanés, les appels getDoc() ou getDocs() renverront les résultats du cache et toutes les opérations d'écriture seront mises en file d'attente jusqu'à ce que le réseau soit restauré.
doc (firestore, chemin, cheminSegments) Obtient une instance DocumentReference qui fait référence au document au chemin absolu spécifié.
activerIndexedDbPersistence(firestore, persistenceSettings) Tente d'activer le stockage persistant, si possible. En cas d'échec, enableIndexedDbPersistence() rejettera la promesse ou lèvera une exception. Il existe plusieurs raisons pour lesquelles cela peut échouer, qui peuvent être identifiées par le code de l'erreur. * condition préalable échouée : l'application est déjà ouverte dans un autre onglet du navigateur. * non implémenté : le navigateur est incompatible avec l'implémentation de la persistance hors ligne. Notez que même après une panne, l'instance Firestore restera utilisable, cependant la persistance hors ligne sera désactivée. Remarque : enableIndexedDbPersistence() doit être appelée avant toute autre fonction (autre que initializeFirestore()). , getFirestore() ou clearIndexedDbPersistence() . La persistance ne peut pas être utilisée dans un environnement Node.js.
activerMultiTabIndexedDbPersistence (firestore) Tente d'activer le stockage persistant multi-onglets, si possible. Si cette option est activée dans tous les onglets, toutes les opérations partagent l'accès à la persistance locale, y compris l'exécution partagée des requêtes et les mises à jour de documents locaux avec compensation de latence sur toutes les instances connectées. En cas d'échec, enableMultiTabIndexedDbPersistence() rejettera la promesse ou lèvera une exception. Il existe plusieurs raisons pour lesquelles cela peut échouer, qui peuvent être identifiées par le code de l'erreur. * condition préalable d'échec : l'application est déjà ouverte dans un autre onglet du navigateur et le multi-onglet n'est pas activé. * non implémenté : le navigateur est incompatible avec l'implémentation de la persistance hors ligne. Notez que même après une panne, l'instance Firestore restera utilisable, cependant la persistance hors ligne sera désactivée.
activer le réseau (firestore) Réactive l'utilisation du réseau pour cette instance Firestore après un appel préalable à DisableNetwork() .
getPersistentCacheIndexManager(firestore) Renvoie le gestionnaire d'index PersistentCache utilisé par l'objet Firestore donné. L'instance PersistentCacheIndexManager , ou null si le stockage persistant local n'est pas utilisé.
chargerBundle (firestore, bundleData) Charge un bundle Firestore dans le cache local.
nomméeQuery(firestore, nom) Lit une requête Firestore à partir du cache local, identifiée par le nom donné. Les requêtes nommées sont regroupées dans des bundles côté serveur (avec les documents résultants) et chargées dans le cache local à l'aide de loadBundle . Une fois dans le cache local, utilisez cette méthode pour extraire une requête par nom.
onSnapshotsInSync (firestore, observateur) Attache un écouteur pour un événement de synchronisation d'instantanés. L'événement snapshots-in-sync indique que tous les écouteurs affectés par une modification donnée ont été déclenchés, même si une seule modification générée par le serveur affecte plusieurs écouteurs. REMARQUE : L'événement snapshots-in-sync indique uniquement que les écouteurs sont synchronisés les uns avec les autres, mais n'indique pas si ces instantanés sont synchronisés avec le serveur. Utilisez SnapshotMetadata dans les écouteurs individuels pour déterminer si un instantané provient du cache ou du serveur.
onSnapshotsInSync(firestore, onSync) Attache un écouteur pour un événement de synchronisation d'instantanés. L'événement snapshots-in-sync indique que tous les écouteurs affectés par une modification donnée ont été déclenchés, même si une seule modification générée par le serveur affecte plusieurs écouteurs. REMARQUE : L'événement snapshots-in-sync indique uniquement que les écouteurs sont synchronisés les uns avec les autres, mais n'indique pas si ces instantanés sont synchronisés avec le serveur. Utilisez SnapshotMetadata dans les écouteurs individuels pour déterminer si un instantané provient du cache ou du serveur.
runTransaction (firestore, updateFunction, options) Exécute la updateFunction donnée, puis tente de valider les modifications appliquées dans la transaction. Si un document lu dans la transaction a changé, Cloud Firestore réessaye la updateFunction . Si la validation échoue après 5 tentatives, la transaction échoue. Le nombre maximum d'écritures autorisées dans une seule transaction est de 500.
setIndexConfiguration (firestore, configuration) (BETA) Configure l'indexation pour l'exécution de requêtes locales. Toute configuration d'index précédente est remplacée. La Promise est résolue une fois que la configuration de l'index a été conservée. Les entrées d'index elles-mêmes sont créées de manière asynchrone. Vous pouvez continuer à utiliser des requêtes nécessitant une indexation même si les index ne sont pas encore disponibles. L'exécution de la requête commencera automatiquement à utiliser l'index une fois les entrées d'index écrites. Les index ne sont pris en charge qu’avec la persistance IndexedDb. Si IndexedDb n'est pas activé, toute configuration d'index est ignorée.
setIndexConfiguration (firestore, json) (BETA) Configure l'indexation pour l'exécution de requêtes locales. Toute configuration d'index précédente est remplacée. La Promise est résolue une fois que la configuration de l'index a été conservée. Les entrées d'index elles-mêmes sont créées de manière asynchrone. Vous pouvez continuer à utiliser des requêtes nécessitant une indexation même si les index ne sont pas encore disponibles. L'exécution de la requête commencera automatiquement à utiliser l'index une fois les entrées d'index écrites. Les index ne sont pris en charge qu’avec la persistance IndexedDb. Appelez soit enableIndexedDbPersistence() , soit enableMultiTabIndexedDbPersistence() avant de définir une configuration d'index. Si IndexedDb n'est pas activé, toute configuration d'index est ignorée. La méthode accepte le format JSON exporté par la CLI Firebase ( firebase firestore:indexes ). Si le format JSON n'est pas valide, cette méthode génère une erreur.
terminer (firestore) Termine l'instance Firestore fournie. Après avoir appelé terminate() seule la fonction clearIndexedDbPersistence() peut être utilisée. Toute autre fonction lancera une FirestoreError . Pour redémarrer après la résiliation, créez une nouvelle instance de FirebaseFirestore avec getFirestore() . La résiliation n'annule aucune écriture en attente et toutes les promesses en attente d'une réponse du serveur ne seront pas résolues. Si la persistance est activée, la prochaine fois que vous démarrerez cette instance, elle reprendra l'envoi de ces écritures au serveur. Remarque : Dans des circonstances normales, l'appel terminate() n'est pas requis. Cette fonction n'est utile que lorsque vous souhaitez forcer cette instance à libérer toutes ses ressources ou en combinaison avec clearIndexedDbPersistence() pour garantir que tout l'état local est détruit entre les exécutions de tests.
waitForPendingWrites (firestore) Attend que toutes les écritures actuellement en attente pour l'utilisateur actif aient été reconnues par le backend. La promesse renvoyée est résolue immédiatement s'il n'y a aucune écriture en attente. Sinon, la promesse attend toutes les écritures émises précédemment (y compris celles écrites lors d'une session d'application précédente), mais elle n'attend pas les écritures ajoutées après l'appel de la fonction. Si vous souhaitez attendre des écritures supplémentaires, appelez à nouveau waitForPendingWrites() . Toutes les promesses waitForPendingWrites() en attente sont rejetées lors des modifications utilisateur.
écrireBatch (firestore) Crée un lot d'écriture, utilisé pour effectuer plusieurs écritures en une seule opération atomique. Le nombre maximum d'écritures autorisées dans un seul WriteBatch est de 500. Contrairement aux transactions, les lots d'écriture sont conservés hors ligne et sont donc préférables lorsque vous n'avez pas besoin de conditionner vos écritures sur les données lues.
fonction()
compter() Créez un objet AggregateField qui peut être utilisé pour calculer le nombre de documents dans le jeu de résultats d'une requête.
supprimerField() Renvoie une sentinelle à utiliser avec updateDoc() ou setDoc() avec {merge: true} pour marquer un champ à supprimer.
IDdocument() Renvoie un FieldPath sentinelle spécial pour faire référence à l'ID d'un document. Il peut être utilisé dans les requêtes pour trier ou filtrer par ID de document.
getFirestore() Renvoie l'instance Firestore par défaut existante associée à la FirebaseApp par défaut . Si aucune instance n'existe, initialise une nouvelle instance avec les paramètres par défaut.
mémoireEagerGarbageCollector() Crée une instance de MemoryEagerGarbageCollector . Il s'agit également du garbage collector par défaut, sauf indication contraire explicite.
persistantMultipleTabManager() Crée une instance de PersistentMultipleTabManager .
serveurTimestamp() Renvoie une sentinelle utilisée avec setDoc() ou updateDoc() pour inclure un horodatage généré par le serveur dans les données écrites.
fonction (IDbasededonnées, ...)
getFirestore (ID de base de données) (BETA) Renvoie l'instance Firestore nommée existante associée à la FirebaseApp par défaut . Si aucune instance n'existe, initialise une nouvelle instance avec les paramètres par défaut.
fonction(éléments, ...)
tableauSupprimer (éléments) Renvoie une valeur spéciale qui peut être utilisée avec setDoc() ou qui indique au serveur de supprimer les éléments donnés de toute valeur de tableau qui existe déjà sur le serveur. Toutes les instances de chaque élément spécifié seront supprimées du tableau. Si le champ en cours de modification n'est pas déjà un tableau, il sera remplacé par un tableau vide.
tableauUnion (éléments) Renvoie une valeur spéciale qui peut être utilisée avec setDoc() ou updateDoc() qui indique au serveur d'unir les éléments donnés avec n'importe quelle valeur de tableau qui existe déjà sur le serveur. Chaque élément spécifié qui n'existe pas déjà dans le tableau sera ajouté à la fin. Si le champ en cours de modification n'est pas déjà un tableau, il sera écrasé par un tableau contenant exactement les éléments spécifiés.
fonction(champ, ...)
moyenne(champ) Créez un objet AggregateField qui peut être utilisé pour calculer la moyenne d'un champ spécifié sur une plage de documents dans le jeu de résultats d'une requête.
somme(champ) Créez un objet AggregateField qui peut être utilisé pour calculer la somme d'un champ spécifié sur une plage de documents dans le jeu de résultats d'une requête.
fonction(fieldPath, ...)
orderBy (fieldPath, directionStr) Crée un QueryOrderByConstraint qui trie le résultat de la requête en fonction du champ spécifié, éventuellement par ordre décroissant au lieu de l'ordre croissant. Remarque : Les documents qui ne contiennent pas le champ spécifié ne seront pas présents dans le résultat de la requête.
où (fieldPath, opStr, valeur) Crée un QueryFieldFilterConstraint qui impose que les documents doivent contenir le champ spécifié et que la valeur doit satisfaire la contrainte de relation fournie.
fonction(fieldValues, ...)
endAt (valeurs de champ) Crée un QueryEndAtConstraint qui modifie le jeu de résultats pour se terminer aux champs fournis par rapport à l'ordre de la requête. L’ordre des valeurs de champ doit correspondre à l’ordre des clauses order by de la requête.
finAvant (valeurs de champ) Crée un QueryEndAtConstraint qui modifie le jeu de résultats pour qu'il se termine avant les champs fournis par rapport à l'ordre de la requête. L’ordre des valeurs de champ doit correspondre à l’ordre des clauses order by de la requête.
startAfter (fieldValues) Crée un QueryStartAtConstraint qui modifie le jeu de résultats pour qu'il commence après les champs fournis par rapport à l'ordre de la requête. L’ordre des valeurs de champ doit correspondre à l’ordre des clauses order by de la requête.
startAt (valeurs de champ) Crée un QueryStartAtConstraint qui modifie le jeu de résultats pour commencer aux champs fournis par rapport à l'ordre de la requête. L’ordre des valeurs de champ doit correspondre à l’ordre des clauses order by de la requête.
fonction (indexManager, ...)
deleteAllPersistentCacheIndexes (indexManager) Supprime tous les index de cache persistants. Veuillez noter que cette fonction supprimera également les index générés par setIndexConfiguration() , qui est obsolète.
désactiverPersistentCacheIndexAutoCreation(indexManager) Arrête automatiquement de créer des index de cache persistants pour l’exécution de requêtes locales. Les index créés en appelant enablePersistentCacheIndexAutoCreation() prennent toujours effet.
activerPersistentCacheIndexAutoCreation(indexManager) Permet au SDK de créer automatiquement des index de cache persistants pour l'exécution de requêtes locales lorsque le SDK estime que les index de cache peuvent contribuer à améliorer les performances. Cette fonctionnalité est désactivée par défaut.
fonction(gauche, ...)
globalFieldEqual (gauche, droite) Compare deux 'AggregateField ` instances pour l’égalité.
gregateQuerySnapshotEqual (gauche, droite) Compare deux instances AggregateQuerySnapshot pour vérifier leur égalité. Deux instances AggregateQuerySnapshot sont considérées comme « égales » si elles ont des requêtes sous-jacentes qui comparent des données égales et identiques.
requêteEqual (gauche, droite) Renvoie vrai si les requêtes fournies pointent vers la même collection et appliquent les mêmes contraintes.
refEqual(gauche, droite) Renvoie vrai si les références fournies sont égales.
snapshotEqual (gauche, droite) Renvoie vrai si les instantanés fournis sont égaux.
fonction(limite, ...)
limite(limite) Crée un QueryLimitConstraint qui renvoie uniquement les premiers documents correspondants.
limiteVersDernier(limite) Crée un QueryLimitConstraint qui renvoie uniquement les derniers documents correspondants. Vous devez spécifier au moins une clause orderBy pour les requêtes limitToLast , sinon une exception sera levée lors de l'exécution.
fonction(logLevel, ...)
setLogLevel(logNiveau) Définit le niveau de détail des journaux Cloud Firestore (débogage, erreur ou silencieux).
fonction(n, ...)
incrément(n) Renvoie une valeur spéciale qui peut être utilisée avec setDoc() ou updateDoc() qui indique au serveur d'incrémenter la valeur actuelle du champ de la valeur donnée. Si l'opérande ou la valeur actuelle du champ utilise une précision en virgule flottante, toutes les opérations arithmétiques suivent la sémantique IEEE 754. Si les deux valeurs sont des nombres entiers, les valeurs en dehors de la plage de nombres sécurisés de JavaScript ( Number.MIN_SAFE_INTEGER à Number.MAX_SAFE_INTEGER ) sont également sujettes à une perte de précision. De plus, une fois traitées par le backend Firestore, toutes les opérations sur les entiers sont plafonnées entre -2^63 et 2^63-1. Si la valeur actuelle du champ n'est pas de type number ou si le champ n'existe pas encore, la transformation définit le champ sur la valeur donnée.
fonction(requête, ...)
getAggregateFromServer (requête, spécification globale) Calcule les agrégations spécifiées sur les documents dans le jeu de résultats de la requête donnée sans réellement télécharger les documents. L'utilisation de cette fonction pour effectuer des agrégations est efficace car seules les valeurs d'agrégation finales, et non les données des documents, sont téléchargées. Cette fonction peut effectuer des agrégations de documents dans les cas où l'ensemble de résultats est prohibitif pour être téléchargé entièrement (des milliers de documents). Le résultat reçu du serveur est présenté, inchangé, sans tenir compte d'un quelconque état local. Autrement dit, les documents présents dans le cache local ne sont pas pris en compte et les modifications locales ne sont pas encore synchronisées avec le serveur. Les résultats précédemment téléchargés, le cas échéant, ne sont pas utilisés. Chaque invocation de cette fonction implique nécessairement un aller-retour vers le serveur.
getCountFromServer (requête) Calcule le nombre de documents dans le jeu de résultats de la requête donnée sans réellement télécharger les documents. L'utilisation de cette fonction pour compter les documents est efficace car seul le décompte final, et non les données des documents, est téléchargé. Cette fonction peut compter les documents dans les cas où l'ensemble de résultats est prohibitif pour être téléchargé entièrement (des milliers de documents). Le résultat reçu du serveur est présenté, inchangé, sans tenir compte d'un quelconque état local. Autrement dit, les documents présents dans le cache local ne sont pas pris en compte et les modifications locales ne sont pas encore synchronisées avec le serveur. Les résultats précédemment téléchargés, le cas échéant, ne sont pas utilisés. Chaque invocation de cette fonction implique nécessairement un aller-retour vers le serveur.
getDocs (requête) Exécute la requête et renvoie les résultats sous forme de QuerySnapshot . Remarque : getDocs() tente de fournir des données à jour lorsque cela est possible en attendant les données du serveur, mais il peut renvoyer des données mises en cache ou échouer si vous êtes hors ligne et que le serveur n'est pas joignable. Pour spécifier ce comportement, appelez getDocsFromCache() ou getDocsFromServer() .
getDocsFromCache (requête) Exécute la requête et renvoie les résultats sous forme de QuerySnapshot à partir du cache. Renvoie un jeu de résultats vide si aucun document correspondant à la requête n'est actuellement mis en cache.
getDocsFromServer (requête) Exécute la requête et renvoie les résultats sous forme de QuerySnapshot à partir du serveur. Renvoie une erreur si le réseau n'est pas disponible.
onSnapshot (requête, observateur) Attache un écouteur pour les événements QuerySnapshot . Vous pouvez soit transmettre des rappels onNext et onError individuels, soit transmettre un seul objet observateur avec des rappels next et error . L'écouteur peut être annulé en appelant la fonction renvoyée lorsque onSnapshot est appelé. REMARQUE : bien qu'un rappel onCompletion puisse être fourni, il ne sera jamais appelé car le flux d'instantanés est sans fin.
onSnapshot (requête, options, observateur) Attache un écouteur pour les événements QuerySnapshot . Vous pouvez soit transmettre des rappels onNext et onError individuels, soit transmettre un seul objet observateur avec des rappels next et error . L'écouteur peut être annulé en appelant la fonction renvoyée lorsque onSnapshot est appelé. REMARQUE : bien qu'un rappel onCompletion puisse être fourni, il ne sera jamais appelé car le flux d'instantanés est sans fin.
onSnapshot (requête, onNext, onError, onCompletion) Attache un écouteur pour les événements QuerySnapshot . Vous pouvez soit transmettre des rappels onNext et onError individuels, soit transmettre un seul objet observateur avec des rappels next et error . L'écouteur peut être annulé en appelant la fonction renvoyée lorsque onSnapshot est appelé. REMARQUE : bien qu'un rappel onCompletion puisse être fourni, il ne sera jamais appelé car le flux d'instantanés est sans fin.
onSnapshot (requête, options, onNext, onError, onCompletion) Attache un écouteur pour les événements QuerySnapshot . Vous pouvez soit transmettre des rappels onNext et onError individuels, soit transmettre un seul objet observateur avec des rappels next et error . L'écouteur peut être annulé en appelant la fonction renvoyée lorsque onSnapshot est appelé. REMARQUE : bien qu'un rappel onCompletion puisse être fourni, il ne sera jamais appelé car le flux d'instantanés est sans fin.
requête (requête, compositeFilter, queryConstraints) Crée une nouvelle instance immuable de Query qui est étendue pour inclure également des contraintes de requête supplémentaires.
requête (requête, requêteConstraints) Crée une nouvelle instance immuable de Query qui est étendue pour inclure également des contraintes de requête supplémentaires.
fonction(queryConstraints, ...)
et (requêteContraintes) Crée un nouveau QueryCompositeFilterConstraint qui est une conjonction des contraintes de filtre données. Un filtre de conjonction inclut un document s'il satisfait à tous les filtres donnés.
ou(requêteContraintes) Crée un nouveau QueryCompositeFilterConstraint qui est une disjonction des contraintes de filtre données. Un filtre de disjonction inclut un document s'il satisfait à l'un des filtres donnés.
fonction(référence, ...)
addDoc (référence, données) Ajoutez un nouveau document à CollectionReference spécifiée avec les données fournies, en lui attribuant automatiquement un ID de document.
collection (référence, chemin, cheminSegments) Obtient une instance CollectionReference qui fait référence à une sous-collection de reference au chemin relatif spécifié.
collection (référence, chemin, cheminSegments) Obtient une instance CollectionReference qui fait référence à une sous-collection de reference au chemin relatif spécifié.
deleteDoc (référence) Supprime le document référencé par le DocumentReference spécifié.
doc (référence, chemin, cheminSegments) Obtient une instance DocumentReference qui fait référence à un document dans la reference au chemin relatif spécifié. Si aucun chemin n’est spécifié, un ID unique généré automatiquement sera utilisé pour le DocumentReference renvoyé.
doc (référence, chemin, cheminSegments) Obtient une instance DocumentReference qui fait référence à un document dans la reference au chemin relatif spécifié.
getDoc (référence) Lit le document auquel fait référence ce DocumentReference . Remarque : getDoc() tente de fournir des données à jour lorsque cela est possible en attendant les données du serveur, mais il peut renvoyer des données mises en cache ou échouer si vous êtes hors ligne et que le serveur n'est pas joignable. Pour spécifier ce comportement, appelez getDocFromCache() ou getDocFromServer() .
getDocFromCache (référence) Lit le document référencé par ce DocumentReference à partir du cache. Renvoie une erreur si le document n'est pas actuellement mis en cache.
getDocFromServer (référence) Lit le document référencé par ce DocumentReference à partir du serveur. Renvoie une erreur si le réseau n'est pas disponible.
onSnapshot (référence, observateur) Attache un écouteur pour les événements DocumentSnapshot . Vous pouvez soit transmettre des rappels onNext et onError individuels, soit transmettre un seul objet observateur avec des rappels next et error . REMARQUE : bien qu'un rappel onCompletion puisse être fourni, il ne sera jamais appelé car le flux d'instantanés est sans fin.
onSnapshot (référence, options, observateur) Attache un écouteur pour les événements DocumentSnapshot . Vous pouvez soit transmettre des rappels onNext et onError individuels, soit transmettre un seul objet observateur avec des rappels next et error . REMARQUE : bien qu'un rappel onCompletion puisse être fourni, il ne sera jamais appelé car le flux d'instantanés est sans fin.
onSnapshot (référence, onNext, onError, onCompletion) Attache un écouteur pour les événements DocumentSnapshot . Vous pouvez soit transmettre des rappels onNext et onError individuels, soit transmettre un seul objet observateur avec des rappels next et error . REMARQUE : bien qu'un rappel onCompletion puisse être fourni, il ne sera jamais appelé car le flux d'instantanés est sans fin.
onSnapshot (référence, options, onNext, onError, onCompletion) Attache un écouteur pour les événements DocumentSnapshot . Vous pouvez soit transmettre des rappels onNext et onError individuels, soit transmettre un seul objet observateur avec des rappels next et error . REMARQUE : bien qu'un rappel onCompletion puisse être fourni, il ne sera jamais appelé car le flux d'instantanés est sans fin.
setDoc (référence, données) Écrit dans le document auquel fait référence ce DocumentReference . Si le document n'existe pas encore, il sera créé.
setDoc (référence, données, options) Écrit dans le document référencé par le DocumentReference spécifié. Si le document n'existe pas encore, il sera créé. Si vous fournissez merge ou mergeFields , les données fournies peuvent être fusionnées dans un document existant.
updateDoc (référence, données) Met à jour les champs du document référencé par le DocumentReference spécifié. La mise à jour échouera si elle est appliquée à un document qui n'existe pas.
updateDoc (référence, champ, valeur, moreFieldsAndValues) Met à jour les champs du document référencé par le DocumentReference spécifié. La mise à jour échouera si elle est appliquée à un document qui n'existe pas. Les champs imbriqués peuvent être mis à jour en fournissant des chaînes de chemin de champ séparées par des points ou en fournissant des objets FieldPath .
fonction(paramètres, ...)
mémoireLocalCache (paramètres) Crée une instance de MemoryLocalCache . L'instance peut être définie sur FirestoreSettings.cache pour indiquer au SDK quelle couche de cache utiliser.
mémoireLruGarbageCollector (paramètres) Crée une instance de MemoryLruGarbageCollector . Une taille cible peut être spécifiée dans le cadre du paramètre de réglage. Le collecteur commencera à supprimer les documents une fois que la taille du cache dépassera la taille donnée. La taille du cache par défaut est de 40 Mo (40 * 1024 * 1024 octets).
persistantLocalCache (paramètres) Crée une instance de PersistentLocalCache . L'instance peut être définie sur FirestoreSettings.cache pour indiquer au SDK quelle couche de cache utiliser. Le cache persistant ne peut pas être utilisé dans un environnement Node.js.
persistantSingleTabManager (paramètres) Crée une instance de PersistentSingleTabManager .
fonction(instantané, ...)
endAt (instantané) Crée un QueryEndAtConstraint qui modifie le jeu de résultats pour se terminer au document fourni (inclus). La position finale est relative à l'ordre de la requête. Le document doit contenir tous les champs fournis dans le orderBy de la requête.
endBefore (instantané) Crée un QueryEndAtConstraint qui modifie le jeu de résultats pour qu'il se termine avant le document fourni (exclusif). La position finale est relative à l'ordre de la requête. Le document doit contenir tous les champs fournis dans le orderBy de la requête.
startAfter (instantané) Crée un QueryStartAtConstraint qui modifie le jeu de résultats pour qu'il démarre après le document fourni (exclusif). La position de départ est relative à l'ordre de la requête. Le document doit contenir tous les champs fournis dans le orderBy de la requête.
startAt (instantané) Crée un QueryStartAtConstraint qui modifie le jeu de résultats pour commencer au document fourni (inclus). La position de départ est relative à l'ordre de la requête. Le document doit contenir tous les champs fournis dans le orderBy de cette requête.

Des classes

Classe Description
Champ agrégé Représente une agrégation qui peut être effectuée par Firestore.
AggregateQuerySnapshot Les résultats de l’exécution d’une requête d’agrégation.
Octets Un objet immuable représentant un tableau d'octets.
CollectionRéférence Un objet CollectionReference peut être utilisé pour ajouter des documents, obtenir des références de documents et interroger des documents (à l'aide de query(). ).
Référence de document Un DocumentReference fait référence à un emplacement de document dans une base de données Firestore et peut être utilisé pour écrire, lire ou écouter l'emplacement. Le document à l’emplacement référencé peut exister ou non.
Instantané du document Un DocumentSnapshot contient des données lues à partir d'un document dans votre base de données Firestore. Les données peuvent être extraites avec .data() ou .get(<field>) pour obtenir un champ spécifique. Pour un DocumentSnapshot qui pointe vers un document inexistant, tout accès aux données renverra « non défini ». Vous pouvez utiliser la méthode exists() pour vérifier explicitement l'existence d'un document.
Chemin de champ Un FieldPath fait référence à un champ dans un document. Le chemin peut consister en un seul nom de champ (faisant référence à un champ de niveau supérieur dans le document) ou en une liste de noms de champs (faisant référence à un champ imbriqué dans le document). Créez un FieldPath en fournissant des noms de champs. Si plusieurs noms de champ sont fournis, le chemin pointe vers un champ imbriqué dans un document.
Valeur du champ Valeurs Sentinel qui peuvent être utilisées lors de l'écriture de champs de document avec set() ou update() .
Firestore L'interface du service Cloud Firestore. N'appelez pas ce constructeur directement. Utilisez plutôt getFirestore() .
Erreur Firestore Une erreur renvoyée par une opération Firestore.
GéoPoint Un objet immuable représentant un emplacement géographique dans Firestore. L'emplacement est représenté par une paire latitude/longitude. Les valeurs de latitude sont comprises entre [-90, 90]. Les valeurs de longitude sont comprises entre [-180, 180].
LoadBundleTask Représente la tâche de chargement d'un bundle Firestore. Il fournit la progression du chargement du bundle, ainsi que l'achèvement des tâches et les événements d'erreur. L'API est compatible avec Promise<LoadBundleTaskProgress> .
PersistentCacheIndexManager Un PersistentCacheIndexManager pour configurer les index de cache persistant utilisés pour l'exécution de requêtes locales. Pour l'utiliser, appelez getPersistentCacheIndexManager() pour obtenir une instance.
Requête Une Query fait référence à une requête que vous pouvez lire ou écouter. Vous pouvez également créer des objets Query affinés en ajoutant des filtres et en les classant.
QueryCompositeFilterConstraint Un QueryCompositeFilterConstraint est utilisé pour restreindre l'ensemble de documents renvoyés par une requête Firestore en effectuant le OU ou ET logique de plusieurs QueryFieldFilterConstraint . s ou QueryCompositeFilterConstraint s. Les QueryCompositeFilterConstraint sont créés en appelant or() ou and() et peuvent ensuite être transmis à query() pour créer une nouvelle instance de requête qui contient également le QueryCompositeFilterConstraint .
Contrainte de requête Une QueryConstraint est utilisée pour restreindre l'ensemble de documents renvoyés par une requête Firestore. Les QueryConstraint sont créés en appelantwhere() , commandé par() , commencer à() , startAfter() , finAvant() , Fin à() , limite() , limitToLast() et peut ensuite être transmis à query() pour créer une nouvelle instance de requête qui contient également cette QueryConstraint .
RequêteDocumentSnapshot Un QueryDocumentSnapshot contient des données lues à partir d'un document de votre base de données Firestore dans le cadre d'une requête. L'existence du document est garantie et ses données peuvent être extraites avec .data() ou .get(<field>) pour obtenir un champ spécifique. Un QueryDocumentSnapshot offre la même surface d'API qu'un DocumentSnapshot . Étant donné que les résultats de la requête ne contiennent que des documents existants, la propriété exists sera toujours vraie et data() ne renverra jamais « undéfini ».
RequêteFinAtConstraint Un QueryEndAtConstraint est utilisé pour exclure des documents de la fin d'un jeu de résultats renvoyé par une requête Firestore. Les QueryEndAtConstraint sont créés en appelant endAt() ou endBefore() et peuvent ensuite être transmis à query() pour créer une nouvelle instance de requête qui contient également ce QueryEndAtConstraint .
QueryFieldFilterConstraint Un QueryFieldFilterConstraint est utilisé pour restreindre l'ensemble de documents renvoyés par une requête Firestore en filtrant sur un ou plusieurs champs de document. Les QueryFieldFilterConstraint sont créés en appelantwhere() et peuvent ensuite être transmis à query() pour créer une nouvelle instance de requête qui contient également ce QueryFieldFilterConstraint .
QueryLimitConstraint Un QueryLimitConstraint est utilisé pour limiter le nombre de documents renvoyés par une requête Firestore. Les QueryLimitConstraint sont créés en appelant limit() ou limitToLast() et peuvent ensuite être transmis à query() pour créer une nouvelle instance de requête qui contient également ce QueryLimitConstraint .
RequêteOrderByConstraint Un QueryOrderByConstraint est utilisé pour trier l'ensemble de documents renvoyés par une requête Firestore. QueryOrderByConstraint S est créé en invoquant OrderBy () et peut ensuite être transmis à Query () pour créer une nouvelle instance de requête qui contient également ce QueryOrderByConstraint . Remarque: Les documents qui ne contiennent pas le champ OrderBy ne seront pas présents dans le résultat de la requête.
Querysnapshot Un QuerySnapshot contient des objets de documents ou plus DocumentSnapshot représentant les résultats d'une requête. Les documents sont accessibles en tant que tableau via la propriété docs ou énumérés à l'aide de la méthode forEach . Le nombre de documents peut être déterminé via les propriétés empty et size .
QuerystartatConstraint Un QueryStartAtConstraint est utilisé pour exclure les documents du début d'un ensemble de résultats renvoyé par une requête Firestore. QueryStartAtConstraint S est créé en invoquant startat () ou startafter () et peut ensuite être transmis à Query () pour créer une nouvelle instance de requête qui contient également ce QueryStartAtConstraint .
Snapshotmetadata Métadonnées sur un instantané, décrivant l'état de l'instantané.
Horodatage Un Timestamp représente un point dans le temps indépendant de tout fuseau horaire ou calendrier, représenté en secondes et fractions de secondes à la résolution de la nanoseconde en temps d'époque UTC. Il est codé en utilisant le calendrier grégorien prolptique qui étend le calendrier grégorien à l'arrière de la première année. Il est encodé en supposant que toutes les minutes durent 60 secondes, c'est-à-dire que les secondes de saut sont "enduites" afin qu'aucune deuxième table ne soit nécessaire pour l'interprétation. La plage est de 0001-01-01T00: 00: 00Z à 9999-12-31T23: 59: 59.999999999Z. Pour des exemples et des spécifications supplémentaires, reportez-vous à la définition de l'horodatage .
Transaction Une référence à une transaction. L'objet Transaction transmis à updateFunction d'une transaction fournit les méthodes pour lire et écrire des données dans le contexte de la transaction. Voir runTransaction () .
Writebatch Un lot d'écriture, utilisé pour effectuer plusieurs écritures comme une seule unité atomique. Un objet WriteBatch peut être acquis en appelant WriteBatch () . Il fournit des méthodes pour ajouter des écritures au lot d'écriture. Aucune des écritures ne sera engagée (ou visible localement) jusqu'à ce que writebatch.commit () soit appelé.

Interfaces

Interface Description
Agrégatspec Spécifie un ensemble d'agrégations et leurs alias.
Changeur de document Un DocumentChange représente un changement dans les documents correspondant à une requête. Il contient le document affecté et le type de changement qui s'est produit.
DocumentData Document Data (pour une utilisation avec setDoc () ) se compose de champs mappés aux valeurs.
Expérimentalpollingoptions Options qui configurent le transport du réseau sous-jacent du SDK (WebChannel) lors de l'utilisation à long terme. Remarque: cette interface est "expérimentale" et est sujette à changement. Voir FirestoreSettings.experimentalAutoDetectLongPolling , FirestoreSettings.experimentalForceLongPolling et FirestoreSettings.experimentalLongPollingOptions .
FirestoreDataconverter Convertisseur utilisé par withConverter() pour transformer les objets utilisateur de type AppModelType en données Firestore de type DbModelType . L'utilisation du convertisseur vous permet de spécifier des arguments de type générique lors du stockage et de la récupération d'objets à partir de Firestore. Dans ce contexte, un "AppModel" est une classe qui est utilisée dans une application pour regrouper des informations et des fonctionnalités connexes. Une telle classe pourrait, par exemple, avoir des propriétés avec des types de données complexes et imbriqués, des propriétés utilisées pour la mémorisation, des propriétés de types non pris en charge par Firestore (comme symbol et bigint ) et les fonctions d'assistance qui effectuent des opérations composées. Ces classes ne sont pas adaptées et / ou possibles pour stocker dans une base de données Firestore. Au lieu de cela, les cas de telles classes doivent être convertis en "vieux objets JavaScript simples" (Pojos) avec des propriétés exclusivement primitives, potentiellement imbriquées à l'intérieur d'autres pojos ou tableaux de pojos. Dans ce contexte, ce type est appelé "DBModel" et serait un objet adapté à la persistance dans Firestore. Pour plus de commodité, les applications peuvent implémenter FirestoreDataConverter et enregistrer le convertisseur avec des objets Firestore, tels que DocumentReference ou Query , pour convertir automatiquement AppModel en DbModel lors du stockage en Firestore et convertir DbModel en AppModel lors de la récupération de Firestore.
Firestorestings Spécifie les configurations personnalisées pour votre instance Cloud Firestore. Vous devez les définir avant d'invoquer d'autres méthodes.
Indice (Beta) La définition du SDK d'un index de Firestore.
IndexConfiguration (Beta) Une liste des index Firestore pour accélérer l'exécution de la requête locale. Voir le format JSON pour une description du format de la définition d'index.
Champ indexé (Bêta) un élément de champ unique dans une configuration d'index.
Loadbundletaskprogress Représente une mise à jour de progrès ou un état final à partir de paquets de chargement.
MemoryCachesettings Un objet Paramètres pour configurer une instance MemoryLocalCache .
MemoryeagergarBageCollecteur Un collecteur de déchets supprime les documents chaque fois qu'ils ne font pas partie des requêtes actives et n'ont aucune mutation locale qui leur est attachée. Ce collectionneur essaie d'assurer les empreintes de pas de mémoire les plus basses du SDK, au risque que les documents ne soient pas mis en cache pour les requêtes hors ligne ou pour les requêtes directes vers le cache. Utilisez la fonction d'usine pour créer une instance de ce collecteur.
Memmoralcache Fournit un cache en mémoire au SDK. Il s'agit du cache par défaut, sauf indication contraire explicite. Pour utiliser, créez une instance à l'aide de la fonction d'usine, puis définissez l'instance sur FirestoreSettings.cache et appelez initializeFirestore à l'aide de l'objet Paramètres.
MemoryLrugarBageCollecteur Un collecteur de déchets supprime les documents les moins utilisés en plusieurs lots. Ce collecteur est configuré avec une taille cible et ne procédera à la collecte que lorsque les documents en cache dépassent la taille cible. Il évite d'interroger le backend répété pour la même requête ou le même document, au risque d'avoir une empreinte mémoire plus grande. Utilisez la fonction d'usine pour créer une instance de ce collecteur.
Persistances Paramètres qui peuvent être transmis pour permettre à enableIndexedDbPersistence() de configurer la persistance de Firestore. La persistance ne peut pas être utilisée dans un environnement Node.js.
PersistentCachesettings Un objet de paramètres pour configurer une instance PersistentLocalCache . Le cache persistant ne peut pas être utilisé dans un environnement Node.js.
PersistantLocalCache Fournit un cache persistant soutenu par indexDDB vers le SDK. Pour utiliser, créez une instance à l'aide de la fonction d'usine, puis définissez l'instance sur FirestoreSettings.cache et appelez initializeFirestore à l'aide de l'objet Paramètres.
Persistant-mortipletabmanager Un gestionnaire d'onglet prenant en charge plusieurs onglets. Le SDK synchronisera les requêtes et les mutations effectuées sur tous les onglets à l'aide du SDK.
Persévérant Un gestionnaire d'onglet ne prenant qu'un seul onglet, aucune synchronisation ne sera effectuée sur les onglets.
Persistanceingletabmanagersettings Tapez pour configurer une instance PersistentSingleTabManager .
Instantanés Un objet d'options qui peut être transmis à ONSnapShot () et QuerrySnapshot.docchanges () pour contrôler les types de modifications à inclure dans l'ensemble de résultats.
Instantanés Options qui configurent la façon dont les données sont récupérées à partir d'un DocumentSnapshot (par exemple le comportement souhaité pour les horodatages du serveur qui n'ont pas encore été définis sur leur valeur finale).
TransactionOptions Options pour personnaliser le comportement de transaction.
Se désabonner Une fonction renvoyée par onSnapshot() qui supprime l'auditeur lorsqu'elle est invoquée.

Variables

Variable Description
Cache_size_unlimited Constante utilisé pour indiquer la collection LRU Garbage doit être désactivée. Définissez cette valeur en tant que cacheSizeBytes sur les paramètres transmis à l'instance Firestore .

Tapez les alias

Type Alias Description
Addprefixtokeys Renvoie une nouvelle carte où chaque clé est préfixée avec la clé extérieure annexée à un point.
AggregateFieldType Le syndicat de tous les types AggregateField qui sont soutenus par Firestore.
Agrégats pecdata Un type dont les clés sont tirées d'un AggregateSpec , et dont les valeurs sont le résultat de l'agrégation effectuée par le AggregateField correspondant à partir de l' AggregateSpec de l'entrée.
Agrégaterype Type d'union représentant le type agrégé à effectuer.
ChildUpdatefields Aide pour calculer les champs imbriqués pour un type donné T1. Ceci est nécessaire pour distribuer des types d'union tels que undefined | {...} (se produit pour les accessoires facultatifs) ou {a: A} | {b: B} . Dans ce cas d'utilisation, V est utilisé pour distribuer les types syndicaux de T[K] au Record , car T[K] est évalué comme une expression et non distribué. Voir https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-ypes
DocumentChangeType Le type de DocumentChange peut être «ajouté», «supprimé» ou «modifié».
FirestoreErrorcode L'ensemble des codes d'état Firestore. Les codes sont les mêmes chez ceux exposés par GRPC ici: https://github.com/grpc/grpc/blob/master/doc/statucodes.md Valeurs possibles: - «Annulé»: l'opération a été annulée (généralement par l'appelant). - «Inconnu»: erreur inconnue ou erreur d'un domaine d'erreur différent. - «Argument non valide»: le client a spécifié un argument non valide. Notez que cela diffère de la «précondition échouée». «Argument invalide» indique des arguments problématiques quel que soit l'état du système (par exemple, un nom de champ non valide). - «Date limite-examend»: la date limite a expiré avant que l'opération ne puisse se terminer. Pour les opérations qui modifient l'état du système, cette erreur peut être renvoyée même si l'opération s'est terminée avec succès. Par exemple, une réponse réussie d'un serveur aurait pu être retardée suffisamment longtemps pour que la date limite expire. - «pas-fond»: un document demandé n'a pas été trouvé. - «déjà-existes»: un document que nous avons tenté de créer existe déjà. - «Permission-Denied»: l'appelant n'a pas la permission d'exécuter l'opération spécifiée. - «Ressource-Exhusted»: une ressource a été épuisée, peut-être un quota par utilisateur, ou peut-être que l'ensemble du système de fichiers est hors de l'espace. - «défaillance de la condition de la condition: l'opération a été rejetée car le système n'est pas dans un état requis pour l'exécution de l'opération. - «abandonné»: l'opération a été interrompue, généralement en raison d'un problème de concurrence comme des abandons de transaction, etc. - «hors gamme»: l'opération a été tentée au-delà de la plage valide. - «UNIMPLEMED»: l'opération n'est pas implémentée ou non prise en charge / activée. - «interne»: erreurs internes. Cela signifie que certains invariants attendus par le système sous-jacent ont été brisés. Si vous voyez une de ces erreurs, quelque chose est très brisé. - «indisponible»: le service n'est actuellement pas disponible. Il s'agit très probablement d'une condition transitoire et peut être corrigée en réessayant avec une backoff. - «Data-loss»: perte ou corruption de données irrécupérable. - «non authentifiée»: la demande n'a pas d'identification d'authentification valide pour l'opération.
FirestorelocalCache Type d'union à partir de tous les calques de cache SDK pris en charge.
Écouter Décrivez la source à laquelle une requête écoute. Défini sur default pour écouter les modifications de cache et de serveur. Réglé sur cache pour écouter uniquement les changements de cache.
MemorygarbageCollecteur Type d'union de tous les collectionneurs Gabage pour le cache local de mémoire.
Niché Pour chaque champ (par exemple 'bar'), trouvez toutes les clés imbriquées (par exemple { 'bar.baz': t1, 'bar.qux': t2 } ). Les croiser ensemble pour créer une seule carte contenant toutes les clés possibles qui sont toutes marquées comme facultatives
Commander par ladirection La direction d'une clause OrderBy () est spécifiée sous forme de «desc» ou «ASC» (descendant ou ascendant).
Partial avec une valeur Semblable à Partial<T> de TypeScript, mais permet d'omettre les champs imbriqués et les valeurs de champ en tant que valeur des propriétés.
Persistanttabmanager Une union de tous les gestionnaires d'onglet disponibles.
Primitif Types primitifs.
QueryConstraintType Décrit les différentes contraintes de requête disponibles dans ce SDK.
QueryfilterConstraint QueryFilterConstraint est un type d'union d'assistance qui représente QueryFieldFilterConstraint et QueryCompositeFilterConstraine .
QuerynonfilterConstraint QueryNonFilterConstraint est un type d'union d'assistance qui représente des conditions de requête qui sont utilisées pour étroiter ou ordonner l'ensemble des documents, mais qui ne filtrent pas explicitement sur un champ de documents. QueryNonFilterConstraint S sont créés en invoquant OrderBy () , commencer à() , startafter () , endbefore () , Fin à() , limit () ou limitetolast () et peut ensuite être transmis à Query () pour créer une nouvelle instance de requête qui contient également la QueryConstraint .
Setoptions Un objet d'options qui configure le comportement de setDoc () et appelle. Ces appels peuvent être configurés pour effectuer des fusions granulaires au lieu d'écraser les documents cibles dans leur intégralité en fournissant une SetOptions avec merge: true .
État-état Représente l'état des tâches de chargement du paquet. «Error» et «succès» sont un état de naufrage: la tâche s'abortera ou terminera et il n'y aura plus de mises à jour après leur signalement.
Uniontointersection Étant donné un type d'union U = T1 | T2 | ... , renvoie un type intersecté (T1 & T2 & ...) . Utilise des types conditionnels distributifs et l'inférence à partir de types conditionnels. Cela fonctionne parce que plusieurs candidats pour la même variable de type dans des positions contre-variantes provoquent la déduction d'un type d'intersection. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/question/50374908/transform-union-type-com/questions/50374908/transform-union-type-com/question/50374908/transformation -taper
Updatedata Mettre à jour les données (pour une utilisation avec UpdatedOC () ) qui se compose de chemins de champ (par exemple 'foo' ou 'foo.baz') mappés aux valeurs. Champs qui contiennent des champs de référence des champs dans le document. Les valeurs de champ peuvent être transmises en tant que valeurs de propriété.
WhereFilterop Les conditions de filtrage dans une clause WHERE () sont spécifiées à l'aide des chaînes '& lt;', '& lt; =', '==', '! =', '& Gt; =', '& gt;', 'Array-Contains' , «In», «Array-Contains-Any» et «Not-in».
Withfieldvalue Permet de passer les valeurs de champ en tant que valeur de propriété tout en maintenant la sécurité du type.

fonction (app, ...)

getFirestore (app)

Renvoie l'instance Firestore par défaut existante qui est associée au FirebaseApp fourni . Si aucune instance n'existe, initialise une nouvelle instance avec des paramètres par défaut.

Signature:

export declare function getFirestore(app: FirebaseApp): Firestore;

Paramètres

Paramètre Taper Description
application FirebaseApp L'instance FirebaseApp à laquelle l'instance Firestore est associée.

Retour:

Firestore

L'instance Firestore par défaut de l'application fournie.

getFirestore (application, databaseid)

Cette API est fournie comme un aperçu des développeurs et peut changer en fonction des commentaires que nous recevons. N'utilisez pas cette API dans un environnement de production.

Renvoie l'instance Firestore nommée existante associée au FirebaseApp fourni . Si aucune instance n'existe, initialise une nouvelle instance avec des paramètres par défaut.

Signature:

export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;

Paramètres

Paramètre Taper Description
application FirebaseApp L'instance FirebaseApp à laquelle l'instance Firestore est associée.
DatabaseID chaîne Le nom de la base de données.

Retour:

Firestore

L'instance nommée Firestore de l'application fournie.

InitializeFireStore (App, Paramètres, DatabaseID)

Initialise une nouvelle instance de Firestore avec les paramètres fournis. Ne peut être appelé qu'avant toute autre fonction, y compris getFirestore () . Si les paramètres personnalisés sont vides, cette fonction équivaut à appeler getFirestore () .

Signature:

export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings, databaseId?: string): Firestore;

Paramètres

Paramètre Taper Description
application FirebaseApp Le FirebaseApp avec lequel l'instance Firestore sera associée.
paramètres Firestorestings Un objet Paramètres pour configurer l'instance Firestore .
DatabaseID chaîne Le nom de la base de données.

Retour:

Firestore

Une instance Firestore nouvellement initialisée.

Fonction (Firestore, ...)

ClearIndexedDBPersistence (Firestore)

Efface le stockage persistant. Cela comprend les écritures en attente et les documents mis en cache.

Doit être appelé pendant que l'instance Firestore n'est pas démarrée (après la fin de l'application ou lorsque l'application est initialisée pour la première fois). Au démarrage, cette fonction doit être appelée avant d'autres fonctions (autres que initializeFirestore () ou getFirestore () )). Si l'instance de Firestore est toujours en cours d'exécution, la promesse sera rejetée avec le code d'erreur de failed-precondition .

Signature:

export declare function clearIndexedDbPersistence(firestore: Firestore): Promise<void>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance de Firestore pour effacer la persistance pour.

Retour:

Promesse <void>

Une Promise qui est résolue lorsque le stockage persistant est effacé. Sinon, la promesse est rejetée avec une erreur.

Collection (Firestore, Path, Pathsegments)

Obtient une instance CollectionReference qui fait référence à la collection sur le chemin absolu spécifié.

Signature:

export declare function collection(firestore: Firestore, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore Une référence à l'instance racine Firestore .
chemin chaîne Un chemin séparé par une collection.
pathsegments chaîne[] Segments de chemin supplémentaires pour s'appliquer relatifs au premier argument.

Retour:

Relevé de collecte < DocumentData , DocumentData >

L'instance CollectionReference .

Des exceptions

Si le chemin final a un nombre uniforme de segments et ne pointe pas vers une collection.

CollectionGroup (Firestore, CollectionID)

Crée et renvoie une nouvelle instance Query qui comprend tous les documents de la base de données qui sont contenus dans une collection ou une sous-collection avec la collectionId donnée .

Signature:

export declare function collectionGroup(firestore: Firestore, collectionId: string): Query<DocumentData, DocumentData>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore Une référence à l'instance racine Firestore .
collectiond chaîne Identifie les collections pour interroger. Chaque collection ou sous-collection avec cet ID car le dernier segment de son chemin sera inclus. Ne peut pas contenir de barre oblique.

Retour:

Requête < DocumentData , DocumentData >

La Query créée .

ConnectFireStoreMulator (Firestore, hôte, port, options)

Modifiez cette instance pour communiquer avec l'émulateur Cloud Firestore.

Signature:

export declare function connectFirestoreEmulator(firestore: Firestore, host: string, port: number, options?: {
    mockUserToken?: EmulatorMockTokenOptions | string;
}): void;

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance Firestore à configurer pour se connecter à l'émulateur.
hôte chaîne L'hôte de l'émulateur (Ex: LocalHost).
port nombre Le port d'émulateur (Ex: 9000).
choix {MockUsertoken ?: EMULATORMOCKTOKINEOPTIONS | chaîne; }

Retour:

vide

Disablenetwork (Firestore)

Désactive l'utilisation du réseau pour cette instance. Il peut être réactivé via INABLENETWORK () . Bien que le réseau soit désactivé, tous les écouteurs d'instantané, getDoc() ou getDocs() rendront les résultats de Cache, et toutes les opérations d'écriture seront mis en file d'attente jusqu'à ce que le réseau soit restauré.

Signature:

export declare function disableNetwork(firestore: Firestore): Promise<void>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore

Retour:

Promesse <void>

Une Promise qui est résolue une fois le réseau désactivé.

Doc (Firestore, Path, Pathsegments)

Obtient une instance DocumentReference qui fait référence au document sur le chemin absolu spécifié.

Signature:

export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore Une référence à l'instance racine Firestore .
chemin chaîne Un chemin séparé par une barre oblique vers un document.
pathsegments chaîne[] Segments de chemin supplémentaires qui seront appliqués par rapport au premier argument.

Retour:

Référence de document < DocumentData , DocumentData >

L'instance DocumentReference .

Des exceptions

Si le chemin final a un nombre impair de segments et ne pointe pas vers un document.

Activer InternetDDBPersistence (Firestore, PersistanceSettings)

Cette fonction sera supprimée dans une future version majeure. Au lieu de cela, définissez FirestoreSettings.localCache sur une instance de PersistentLocalCache pour activer le cache indexédb. L'appel de cette fonction lorsque FirestoreSettings.localCache est déjà spécifié lancera une exception.

Tente d'activer le stockage persistant, si possible.

En cas de défaillance, enableIndexedDbPersistence() rejetera la promesse ou lancera une exception. Il y a plusieurs raisons pour lesquelles cela peut échouer, qui peut être identifié par le code sur l'erreur.

* Déchec de l'échec: l'application est déjà ouverte dans un autre onglet de navigateur. * UNIMPLIPÉRÉ: Le navigateur est incompatible avec la mise en œuvre de persistance hors ligne.

Notez que même après un échec, l'instance Firestore restera utilisable, mais la persistance hors ligne sera désactivée.

La persistance ne peut pas être utilisée dans un environnement Node.js.

Signature:

export declare function enableIndexedDbPersistence(firestore: Firestore, persistenceSettings?: PersistenceSettings): Promise<void>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance Firestore pour permettre la persistance pour.
Persistances Persistances Paramètres optionnels Objet pour configurer la persistance.

Retour:

Promesse <void>

Une Promise qui représente avec succès l'activation du stockage persistant.

ImmatEmultitAbindexedDBPersistence (Firestore)

Cette fonction sera supprimée dans une future version majeure. Au lieu de cela, définissez FirestoreSettings.localCache sur une instance de PersistentLocalCache pour activer le cache indexédb. L'appel de cette fonction lorsque FirestoreSettings.localCache est déjà spécifié lancera une exception.

Tente d'activer le stockage persistant multi-tab, si possible. S'ils sont activés sur tous les onglets, toutes les opérations partagent l'accès à la persistance locale, y compris l'exécution partagée des requêtes et les mises à jour de documents locaux compensées à la latence sur toutes les instances connectées.

En cas de défaillance, enableMultiTabIndexedDbPersistence() rejetera la promesse ou lancera une exception. Il y a plusieurs raisons pour lesquelles cela peut échouer, qui peut être identifié par le code sur l'erreur.

* Déchec de l'échec: l'application est déjà ouverte dans un autre onglet de navigateur et Multi-Tab n'est pas activé. * UNIMPLIPÉRÉ: Le navigateur est incompatible avec la mise en œuvre de persistance hors ligne.

Notez que même après un échec, l'instance Firestore restera utilisable, mais la persistance hors ligne sera désactivée.

Signature:

export declare function enableMultiTabIndexedDbPersistence(firestore: Firestore): Promise<void>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance Firestore pour permettre la persistance pour.

Retour:

Promesse <void>

Une Promise qui représente avec succès l'activation du stockage persistant.

ImageNetwork (Firestore)

Réactivité l'utilisation du réseau pour cette instance Firestore après un appel préalable à DisableNetwork () .

Signature:

export declare function enableNetwork(firestore: Firestore): Promise<void>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore

Retour:

Promesse <void>

Une Promise qui est résolue une fois le réseau activé.

getPersistentCacheIndexManager (Firestore)

Renvoie le gestionnaire d'index persistantCache utilisé par l'objet Firestore donné.

L'instance PersistentCacheIndexManager , ou null si le stockage persistant local n'est pas utilisé.

Signature:

export declare function getPersistentCacheIndexManager(firestore: Firestore): PersistentCacheIndexManager | null;

Paramètres

Paramètre Taper Description
magasin de feu Firestore

Retour:

PersistantCacheIndexManager | nul

Loadbundle (Firestore, Bundledata)

Charge un pack Firestore dans le cache local.

Signature:

export declare function loadBundle(firestore: Firestore, bundleData: ReadableStream<Uint8Array> | ArrayBuffer | string): LoadBundleTask;

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance Firestore pour charger des faisceaux pour.
bundledata LEALABLESTREAM <UInt8Array> | ArrayBuffer | chaîne Un objet représentant le pack à charger. Les objets valides sont ArrayBuffer , ReadableStream<Uint8Array> ou string .

Retour:

LoadBundletask

Un objet LoadBundleTask , qui informe les appelants avec les mises à jour de progression et les événements d'achèvement ou d'erreur. Il peut être utilisé comme Promise<LoadBundleTaskProgress> .

NAMBOSQUE (Firestore, nom)

Lire une requête Firestore de Cache local, identifiée par le nom donné.

Les requêtes nommées sont emballées en faisceaux du côté serveur (avec des documents résultants) et chargés en cache local à l'aide loadBundle . Une fois dans le cache local, utilisez cette méthode pour extraire une requête par nom.

Signature:

export declare function namedQuery(firestore: Firestore, name: string): Promise<Query | null>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance Firestore pour lire la requête.
nom chaîne Le nom de la requête.

Retour:

Promesse < requête | null>

Une Promise qui est résolue avec la requête ou null .

OnsnapshotsInsync (Firestore, Observer)

Attache un auditeur pour un événement Snapshots-in-Sync. L'événement Snapshots-in-Sync indique que tous les auditeurs affectés par un changement donné ont été tirés, même si un seul changement généré par un serveur affecte plusieurs auditeurs.

Remarque: L'événement SnapshoTs-in-Sync indique uniquement que les auditeurs sont synchronisés les uns avec les autres, mais ne se rapporte pas à la synchronisation des instantanés avec le serveur. Utilisez SnapshotMetadata dans les auditeurs individuels pour déterminer si un instantané provient du cache ou du serveur.

Signature:

export declare function onSnapshotsInSync(firestore: Firestore, observer: {
    next?: (value: void) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance de Firestore pour la synchronisation des instantanés.
observateur {suivant ?: (valeur: void) => void; Erreur ?: (Erreur: FirestoreError ) => void; complet ?: () => void; } Un seul objet contenant next et des rappels error .

Retour:

Se désabonner

Une fonction de désabonnement qui peut être appelée pour annuler l'écouteur instantané.

OnsnapshotsInsync (Firestore, Onsync)

Attache un auditeur pour un événement Snapshots-in-Sync. L'événement Snapshots-in-Sync indique que tous les auditeurs affectés par un changement donné ont été tirés, même si un seul changement généré par un serveur affecte plusieurs auditeurs.

Remarque: L'événement SnapshoTs-in-Sync indique uniquement que les auditeurs sont synchronisés les uns avec les autres, mais ne se rapporte pas à la synchronisation des instantanés avec le serveur. Utilisez SnapshotMetadata dans les auditeurs individuels pour déterminer si un instantané provient du cache ou du serveur.

Signature:

export declare function onSnapshotsInSync(firestore: Firestore, onSync: () => void): Unsubscribe;

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance Firestore pour la synchronisation des instantanés.
ontync () => void Un rappel à appeler chaque fois que tous les écouteurs d'instantané sont synchronisés les uns avec les autres.

Retour:

Se désabonner

Une fonction de désabonnement qui peut être appelée pour annuler l'écouteur instantané.

RunTransaction (Firestore, mise à jour, options)

Exécute la updateFunction donnée, puis tente de commettre les modifications appliquées dans la transaction. Si un document lu dans la transaction a changé, Cloud Firestore récupère la updateFunction . S'il ne s'engage pas après 5 tentatives, la transaction échoue.

Le nombre maximum d'écritures autorisées dans une seule transaction est de 500.

Signature:

export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore Une référence à la base de données Firestore pour exécuter cette transaction contre.
mise à jour (Transaction: transaction ) => Promesse <T> La fonction à exécuter dans le contexte de la transaction.
choix TransactionOptions Un objet d'options pour configurer le nombre maximum de tentatives de validation.

Retour:

Promesse <T>

Si la transaction s'est terminée avec succès ou a été explicitement abandonnée (la updateFunction a renvoyé une promesse ratée), la promesse renvoyée par la updateFunction est retourné ici. Sinon, si la transaction a échoué, une promesse rejetée avec l'erreur de défaillance correspondante est renvoyée.

setIndexConfiguration (Firestore, configuration)

Cette API est fournie comme un aperçu des développeurs et peut changer en fonction des commentaires que nous recevons. N'utilisez pas cette API dans un environnement de production.

Au lieu de créer des index de cache manuellement, envisagez d'utiliser enablePersistentCacheIndexAutoCreation() pour permettre au SDK de décider de créer des index de cache pour les requêtes en cours d'exécution localement.

Configure l'indexation pour l'exécution de la requête locale. Toute configuration d'index précédente est remplacée. La Promise résout une fois la configuration d'index persistante.

Les entrées d'index elles-mêmes sont créées de manière asynchrone. Vous pouvez continuer à utiliser des requêtes qui nécessitent une indexation même si les indices ne sont pas encore disponibles. L'exécution de la requête commencera automatiquement à utiliser l'index une fois que les entrées d'index auront été écrites.

Les index ne sont pris en charge qu'avec une persistance indexée. Si indededDB n'est pas activé, toute configuration d'index est ignorée.

Signature:

export declare function setIndexConfiguration(firestore: Firestore, configuration: IndexConfiguration): Promise<void>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance Firestore pour configurer les index pour.
configuration IndexConfiguration La définition d'index.

Retour:

Promesse <void>

Une Promise qui résout une fois que tous les indices sont configurés avec succès.

Des exceptions

FirestoreError si le format JSON n'est pas valide.

setIndexConfiguration (Firestore, JSON)

Cette API est fournie comme un aperçu des développeurs et peut changer en fonction des commentaires que nous recevons. N'utilisez pas cette API dans un environnement de production.

Au lieu de créer des index de cache manuellement, envisagez d'utiliser enablePersistentCacheIndexAutoCreation() pour permettre au SDK de décider de créer des index de cache pour les requêtes en cours d'exécution localement.

Configure l'indexation pour l'exécution de la requête locale. Toute configuration d'index précédente est remplacée. La Promise résout une fois la configuration d'index persistante.

Les entrées d'index elles-mêmes sont créées de manière asynchrone. Vous pouvez continuer à utiliser des requêtes qui nécessitent une indexation même si les indices ne sont pas encore disponibles. L'exécution de la requête commencera automatiquement à utiliser l'index une fois que les entrées d'index auront été écrites.

Les index ne sont pris en charge qu'avec une persistance indexée. Invoquez Activer enableIndexedDbPersistence() ou enableMultiTabIndexedDbPersistence() avant de définir une configuration d'index. Si indededDB n'est pas activé, toute configuration d'index est ignorée.

La méthode accepte le format JSON exporté par la CLI Firebase ( firebase firestore:indexes ). Si le format JSON n'est pas valide, cette méthode lance une erreur.

Signature:

export declare function setIndexConfiguration(firestore: Firestore, json: string): Promise<void>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance Firestore pour configurer les index pour.
json chaîne Le format JSON exporté par la CLI Firebase.

Retour:

Promesse <void>

Une Promise qui résout une fois que tous les indices sont configurés avec succès.

Des exceptions

FirestoreError si le format JSON n'est pas valide.

Terminer (Firestore)

Termine l'instance Firestore fournie.

Après avoir appelé terminate() seule la fonction clearIndexedDbPersistence() peut être utilisée. Toute autre fonction lancera une FirestoreError .

Pour redémarrer après la terminaison, créez une nouvelle instance de FirebaseFirestore avec getFirestore () .

La terminaison n'annule aucune écriture en attente, et toute promesse qui attend une réponse du serveur ne sera pas résolue. Si vous avez activé la persistance, la prochaine fois que vous démarrez cette instance, il reprendra l'envoi de ces écritures au serveur.

Signature:

export declare function terminate(firestore: Firestore): Promise<void>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore

Retour:

Promesse <void>

Une Promise qui est résolue lorsque l'instance a été terminée avec succès.

WaitForpendingWrites (Firestore)

Attend que toutes les écritures actuellement en attente pour l'utilisateur actif aient été reconnues par le backend.

La promesse retournée résout immédiatement s'il n'y a pas d'écrits exceptionnels. Sinon, la promesse attend toutes les écritures publiées précédemment (y compris celles écrites lors d'une session d'application précédente), mais elle n'attend pas d'écritures qui ont été ajoutées après l'appel de la fonction. Si vous souhaitez attendre des écritures supplémentaires, appelez à nouveau waitForPendingWrites() .

Toutes les promesses waitForPendingWrites() en suspens sont rejetées lors des modifications de l'utilisateur.

Signature:

export declare function waitForPendingWrites(firestore: Firestore): Promise<void>;

Paramètres

Paramètre Taper Description
magasin de feu Firestore

Retour:

Promesse <void>

Une Promise qui résout lorsque toutes les écritures en cours en cours ont été reconnues par le backend.

WriteBatch (Firestore)

Crée un lot d'écriture, utilisé pour effectuer plusieurs écritures comme une seule opération atomique. Le nombre maximum d'écritures autorisées dans un seul WriteBatch est de 500.

Contrairement aux transactions, les lots d'écriture sont persistés hors ligne et sont donc préférables lorsque vous n'avez pas besoin de conditionner vos écritures sur les données de lecture.

Signature:

export declare function writeBatch(firestore: Firestore): WriteBatch;

Paramètres

Paramètre Taper Description
magasin de feu Firestore

Retour:

Writebatch

Un WriteBatch qui peut être utilisé pour exécuter atomiquement plusieurs écritures.

fonction()

compter()

Créez un objet agrégateField qui peut être utilisé pour calculer le nombre de documents dans l'ensemble de résultats d'une requête.

Signature:

export declare function count(): AggregateField<number>;

Retour:

Agrégatfield <graisser>

DeleteField ()

Renvoie une Sentinel à utiliser avec UpdatedOC () ou setDoc () avec {merge: true} pour marquer un champ pour la suppression.

Signature:

export declare function deleteField(): FieldValue;

Retour:

Surface

documentId ()

Renvoie un FieldPath Sentinel spécial pour se référer à l'ID d'un document. Il peut être utilisé dans les requêtes pour trier ou filtrer par l'ID de document.

Signature:

export declare function documentId(): FieldPath;

Retour:

Parcours de terrain

getFirestore ()

Renvoie l'instance Firestore par défaut existante qui est associée au FirebaseApp par défaut . Si aucune instance n'existe, initialise une nouvelle instance avec des paramètres par défaut.

Signature:

export declare function getFirestore(): Firestore;

Retour:

Firestore

L'instance Firestore par défaut de l'application par défaut.

MemoteEagerGarBageCollector ()

Crée une instance de MemoryEagerGarbageCollector . Il s'agit également du collecteur de déchets par défaut, sauf s'il est explicitement spécifié autrement.

Signature:

export declare function memoryEagerGarbageCollector(): MemoryEagerGarbageCollector;

Retour:

MemoryeagergarBageCollecteur

persistantMultipletAbManager ()

Crée une instance de PersistentMultipleTabManager .

Signature:

export declare function persistentMultipleTabManager(): PersistentMultipleTabManager;

Retour:

Persistant-mortipletabmanager

servertimestamp ()

Renvoie une sentinelle utilisée avec SetDoc () ou UpdatedOC () pour inclure un horodatage généré par le serveur dans les données écrites.

Signature:

export declare function serverTimestamp(): FieldValue;

Retour:

Surface

fonction (databaseid, ...)

getFirestore (databaseid)

Cette API est fournie comme un aperçu des développeurs et peut changer en fonction des commentaires que nous recevons. N'utilisez pas cette API dans un environnement de production.

Renvoie l'instance Firestore nommée existante associée au FirebaseApp par défaut . Si aucune instance n'existe, initialise une nouvelle instance avec des paramètres par défaut.

Signature:

export declare function getFirestore(databaseId: string): Firestore;

Paramètres

Paramètre Taper Description
DatabaseID chaîne Le nom de la base de données.

Retour:

Firestore

L'instance nommée Firestore de l'application par défaut.

fonction (éléments, ...)

ArrayRemove (éléments)

Renvoie une valeur spéciale qui peut être utilisée avec SetDoc () ou qui indique au serveur de supprimer les éléments donnés de toute valeur de tableau qui existe déjà sur le serveur. Toutes les instances de chaque élément spécifié seront supprimées du tableau. Si le champ modifié n'est pas déjà un tableau, il sera écrasé avec un tableau vide.

Signature:

export declare function arrayRemove(...elements: unknown[]): FieldValue;

Paramètres

Paramètre Taper Description
éléments inconnu[] Les éléments à retirer du tableau.

Retour:

Surface

Le champ Sentinel FieldValue à utiliser dans un appel à setDoc() ou updateDoc()

ArrayUnion (éléments)

Returns a special value that can be used with setDoc() or updateDoc() that tells the server to union the given elements with any array value that already exists on the server. Each specified element that doesn't already exist in the array will be added to the end. If the field being modified is not already an array it will be overwritten with an array containing exactly the specified elements.

Signature:

export declare function arrayUnion(...elements: unknown[]): FieldValue;

Paramètres

Paramètre Taper Description
éléments inconnu[] The elements to union into the array.

Retour:

FieldValue

The FieldValue sentinel for use in a call to setDoc() or updateDoc() .

function(field, ...)

average(field)

Create an AggregateField object that can be used to compute the average of a specified field over a range of documents in the result set of a query.

Signature:

export declare function average(field: string | FieldPath): AggregateField<number | null>;

Paramètres

Paramètre Taper Description
champ chaîne | FieldPath Specifies the field to average across the result set.

Retour:

AggregateField <number | null>

sum(field)

Create an AggregateField object that can be used to compute the sum of a specified field over a range of documents in the result set of a query.

Signature:

export declare function sum(field: string | FieldPath): AggregateField<number>;

Paramètres

Paramètre Taper Description
champ chaîne | FieldPath Specifies the field to sum across the result set.

Retour:

AggregateField <number>

function(fieldPath, ...)

orderBy(fieldPath, directionStr)

Creates a QueryOrderByConstraint that sorts the query result by the specified field, optionally in descending order instead of ascending.

Signature:

export declare function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;

Paramètres

Paramètre Taper Description
fieldPath chaîne | FieldPath The field to sort by.
directionStr OrderByDirection Optional direction to sort by ('asc' or 'desc'). If not specified, order will be ascending.

Retour:

QueryOrderByConstraint

The created QueryOrderByConstraint .

where(fieldPath, opStr, value)

Creates a QueryFieldFilterConstraint that enforces that documents must contain the specified field and that the value should satisfy the relation constraint provided.

Signature:

export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;

Paramètres

Paramètre Taper Description
fieldPath chaîne | FieldPath The path to compare
opStr WhereFilterOp The operation string (eg "&lt;", "&lt;=", "==", "&lt;", "&lt;=", "!=").
valeur inconnu The value for comparison

Retour:

QueryFieldFilterConstraint

The created QueryFieldFilterConstraint .

function(fieldValues, ...)

endAt(fieldValues)

Creates a QueryEndAtConstraint that modifies the result set to end at the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Signature:

export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;

Paramètres

Paramètre Taper Description
fieldValues inconnu[] The field values to end this query at, in order of the query's order by.

Retour:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

endBefore(fieldValues)

Creates a QueryEndAtConstraint that modifies the result set to end before the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Signature:

export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;

Paramètres

Paramètre Taper Description
fieldValues inconnu[] The field values to end this query before, in order of the query's order by.

Retour:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

startAfter(fieldValues)

Creates a QueryStartAtConstraint that modifies the result set to start after the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Signature:

export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;

Paramètres

Paramètre Taper Description
fieldValues inconnu[] The field values to start this query after, in order of the query's order by.

Retour:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query()

startAt(fieldValues)

Creates a QueryStartAtConstraint that modifies the result set to start at the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Signature:

export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;

Paramètres

Paramètre Taper Description
fieldValues inconnu[] The field values to start this query at, in order of the query's order by.

Retour:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query() .

function(indexManager, ...)

deleteAllPersistentCacheIndexes(indexManager)

Removes all persistent cache indexes.

Please note this function will also deletes indexes generated by setIndexConfiguration() , which is deprecated.

Signature:

export declare function deleteAllPersistentCacheIndexes(indexManager: PersistentCacheIndexManager): void;

Paramètres

Paramètre Taper Description
indexManager PersistentCacheIndexManager

Retour:

vide

disablePersistentCacheIndexAutoCreation(indexManager)

Stops creating persistent cache indexes automatically for local query execution. The indexes which have been created by calling enablePersistentCacheIndexAutoCreation() still take effect.

Signature:

export declare function disablePersistentCacheIndexAutoCreation(indexManager: PersistentCacheIndexManager): void;

Paramètres

Paramètre Taper Description
indexManager PersistentCacheIndexManager

Retour:

vide

enablePersistentCacheIndexAutoCreation(indexManager)

Enables the SDK to create persistent cache indexes automatically for local query execution when the SDK believes cache indexes can help improve performance.

Cette fonctionnalité est désactivée par défaut.

Signature:

export declare function enablePersistentCacheIndexAutoCreation(indexManager: PersistentCacheIndexManager): void;

Paramètres

Paramètre Taper Description
indexManager PersistentCacheIndexManager

Retour:

vide

function(left, ...)

aggregateFieldEqual(left, right)

Compares two 'AggregateField ` instances for equality.

Signature:

export declare function aggregateFieldEqual(left: AggregateField<unknown>, right: AggregateField<unknown>): boolean;

Paramètres

Paramètre Taper Description
gauche AggregateField <inconnu> Compare this AggregateField to the right .
droite AggregateField <inconnu> Compare this AggregateField to the left .

Retour:

booléen

aggregateQuerySnapshotEqual(left, right)

Compares two AggregateQuerySnapshot instances for equality.

Two AggregateQuerySnapshot instances are considered "equal" if they have underlying queries that compare equal, and the same data.

Signature:

export declare function aggregateQuerySnapshotEqual<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(left: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>, right: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>): boolean;

Paramètres

Paramètre Taper Description
gauche AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType> The first AggregateQuerySnapshot to compare.
droite AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType> The second AggregateQuerySnapshot to compare.

Retour:

booléen

true if the objects are "equal", as defined above, or false otherwise.

queryEqual(left, right)

Returns true if the provided queries point to the same collection and apply the same constraints.

Signature:

export declare function queryEqual<AppModelType, DbModelType extends DocumentData>(left: Query<AppModelType, DbModelType>, right: Query<AppModelType, DbModelType>): boolean;

Paramètres

Paramètre Taper Description
gauche Requête <AppModelType, DbModelType> A Query to compare.
droite Requête <AppModelType, DbModelType> A Query to compare.

Retour:

booléen

true if the references point to the same location in the same Firestore database.

refEqual(left, right)

Returns true if the provided references are equal.

Signature:

export declare function refEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>, right: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>): boolean;

Paramètres

Paramètre Taper Description
gauche Référence de document <AppModelType, DbModelType> | CollectionReference <AppModelType, DbModelType> A reference to compare.
droite Référence de document <AppModelType, DbModelType> | CollectionReference <AppModelType, DbModelType> A reference to compare.

Retour:

booléen

true if the references point to the same location in the same Firestore database.

snapshotEqual(left, right)

Returns true if the provided snapshots are equal.

Signature:

export declare function snapshotEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>, right: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>): boolean;

Paramètres

Paramètre Taper Description
gauche DocumentSnapshot <AppModelType, DbModelType> | QuerySnapshot <AppModelType, DbModelType> A snapshot to compare.
droite DocumentSnapshot <AppModelType, DbModelType> | QuerySnapshot <AppModelType, DbModelType> A snapshot to compare.

Retour:

booléen

true if the snapshots are equal.

function(limit, ...)

limit(limit)

Creates a QueryLimitConstraint that only returns the first matching documents.

Signature:

export declare function limit(limit: number): QueryLimitConstraint;

Paramètres

Paramètre Taper Description
limite nombre The maximum number of items to return.

Retour:

QueryLimitConstraint

The created QueryLimitConstraint .

limitToLast(limit)

Creates a QueryLimitConstraint that only returns the last matching documents.

You must specify at least one orderBy clause for limitToLast queries, otherwise an exception will be thrown during execution.

Signature:

export declare function limitToLast(limit: number): QueryLimitConstraint;

Paramètres

Paramètre Taper Description
limite nombre The maximum number of items to return.

Retour:

QueryLimitConstraint

The created QueryLimitConstraint .

function(logLevel, ...)

setLogLevel(logLevel)

Sets the verbosity of Cloud Firestore logs (debug, error, or silent).

Signature:

export declare function setLogLevel(logLevel: LogLevel): void;

Paramètres

Paramètre Taper Description
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.

Retour:

vide

function(n, ...)

increment(n)

Returns a special value that can be used with setDoc() or updateDoc() that tells the server to increment the field's current value by the given value.

If either the operand or the current field value uses floating point precision, all arithmetic follows IEEE 754 semantics. If both values are integers, values outside of JavaScript's safe number range ( Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER ) are also subject to precision loss. Furthermore, once processed by the Firestore backend, all integer operations are capped between -2^63 and 2^63-1.

If the current field value is not of type number , or if the field does not yet exist, the transformation sets the field to the given value.

Signature:

export declare function increment(n: number): FieldValue;

Paramètres

Paramètre Taper Description
n nombre The value to increment by.

Retour:

FieldValue

The FieldValue sentinel for use in a call to setDoc() or updateDoc()

function(query, ...)

getAggregateFromServer(query, aggregateSpec)

Calculates the specified aggregations over the documents in the result set of the given query without actually downloading the documents.

Using this function to perform aggregations is efficient because only the final aggregation values, not the documents' data, are downloaded. This function can perform aggregations of the documents in cases where the result set is prohibitively large to download entirely (thousands of documents).

The result received from the server is presented, unaltered, without considering any local state. That is, documents in the local cache are not taken into consideration, neither are local modifications not yet synchronized with the server. Previously-downloaded results, if any, are not used. Every invocation of this function necessarily involves a round trip to the server.

Signature:

export declare function getAggregateFromServer<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, aggregateSpec: AggregateSpecType): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType> The query whose result set is aggregated over.
aggregateSpec AggregateSpecType An AggregateSpec object that specifies the aggregates to perform over the result set. The AggregateSpec specifies aliases for each aggregate, which can be used to retrieve the aggregate result.

Retour:

Promise< AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType>>

Exemple

const aggregateSnapshot = await getAggregateFromServer(query, {
  countOfDocs: count(),
  totalHours: sum('hours'),
  averageScore: average('score')
});

const countOfDocs: number = aggregateSnapshot.data().countOfDocs;
const totalHours: number = aggregateSnapshot.data().totalHours;
const averageScore: number | null = aggregateSnapshot.data().averageScore;

getCountFromServer(query)

Calculates the number of documents in the result set of the given query without actually downloading the documents.

Using this function to count the documents is efficient because only the final count, not the documents' data, is downloaded. This function can count the documents in cases where the result set is prohibitively large to download entirely (thousands of documents).

The result received from the server is presented, unaltered, without considering any local state. That is, documents in the local cache are not taken into consideration, neither are local modifications not yet synchronized with the server. Previously-downloaded results, if any, are not used. Every invocation of this function necessarily involves a round trip to the server.

Signature:

export declare function getCountFromServer<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<AggregateQuerySnapshot<{
    count: AggregateField<number>;
}, AppModelType, DbModelType>>;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType> The query whose result set size is calculated.

Retour:

Promise< AggregateQuerySnapshot <{ count: AggregateField <number>; }, AppModelType, DbModelType>>

A Promise that will be resolved with the count; the count can be retrieved from snapshot.data().count , where snapshot is the AggregateQuerySnapshot to which the returned Promise resolves.

getDocs(query)

Executes the query and returns the results as a QuerySnapshot .

Signature:

export declare function getDocs<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType>

Retour:

Promise< QuerySnapshot <AppModelType, DbModelType>>

A Promise that will be resolved with the results of the query.

getDocsFromCache(query)

Executes the query and returns the results as a QuerySnapshot from cache. Returns an empty result set if no documents matching the query are currently cached.

Signature:

export declare function getDocsFromCache<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType>

Retour:

Promise< QuerySnapshot <AppModelType, DbModelType>>

A Promise that will be resolved with the results of the query.

getDocsFromServer(query)

Executes the query and returns the results as a QuerySnapshot from the server. Returns an error if the network is not available.

Signature:

export declare function getDocsFromServer<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType>

Retour:

Promise< QuerySnapshot <AppModelType, DbModelType>>

A Promise that will be resolved with the results of the query.

onSnapshot(query, observer)

Attaches a listener for QuerySnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks. The listener can be cancelled by calling the function that is returned when onSnapshot is called.

NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

Signature:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, observer: {
    next?: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType> The query to listen to.
observateur { next?: (snapshot: QuerySnapshot <AppModelType, DbModelType>) => void; error?: (error: FirestoreError ) => void; complete?: () => void; } A single object containing next and error callbacks.

Retour:

Se désabonner

An unsubscribe function that can be called to cancel the snapshot listener.

onSnapshot(query, options, observer)

Attaches a listener for QuerySnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks. The listener can be cancelled by calling the function that is returned when onSnapshot is called.

NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

Signature:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, options: SnapshotListenOptions, observer: {
    next?: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType> The query to listen to.
choix SnapshotListenOptions Options controlling the listen behavior.
observateur { next?: (snapshot: QuerySnapshot <AppModelType, DbModelType>) => void; error?: (error: FirestoreError ) => void; complete?: () => void; } A single object containing next and error callbacks.

Retour:

Se désabonner

An unsubscribe function that can be called to cancel the snapshot listener.

onSnapshot(query, onNext, onError, onCompletion)

Attaches a listener for QuerySnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks. The listener can be cancelled by calling the function that is returned when onSnapshot is called.

NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

Signature:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, onNext: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType> The query to listen to.
onNext (snapshot: QuerySnapshot <AppModelType, DbModelType>) => void A callback to be called every time a new QuerySnapshot is available.
onError (error: FirestoreError ) => void A callback to be called if the listen fails or is cancelled. No further callbacks will occur.
en complément () => void Can be provided, but will not be called since streams are never ending.

Retour:

Se désabonner

An unsubscribe function that can be called to cancel the snapshot listener.

onSnapshot(query, options, onNext, onError, onCompletion)

Attaches a listener for QuerySnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks. The listener can be cancelled by calling the function that is returned when onSnapshot is called.

NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

Signature:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, options: SnapshotListenOptions, onNext: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType> The query to listen to.
choix SnapshotListenOptions Options controlling the listen behavior.
onNext (snapshot: QuerySnapshot <AppModelType, DbModelType>) => void A callback to be called every time a new QuerySnapshot is available.
onError (error: FirestoreError ) => void A callback to be called if the listen fails or is cancelled. No further callbacks will occur.
en complément () => void Can be provided, but will not be called since streams are never ending.

Retour:

Se désabonner

An unsubscribe function that can be called to cancel the snapshot listener.

query(query, compositeFilter, queryConstraints)

Creates a new immutable instance of Query that is extended to also include additional query constraints.

Signature:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<AppModelType, DbModelType>;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType> The Query instance to use as a base for the new constraints.
compositeFilter QueryCompositeFilterConstraint The QueryCompositeFilterConstraint to apply. Create QueryCompositeFilterConstraint using and() or or() .
queryConstraints QueryNonFilterConstraint [] Additional QueryNonFilterConstraint s to apply (eg orderBy() , limit() ).

Retour:

Requête <AppModelType, DbModelType>

Des exceptions

if any of the provided query constraints cannot be combined with the existing or new constraints.

query(query, queryConstraints)

Creates a new immutable instance of Query that is extended to also include additional query constraints.

Signature:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, ...queryConstraints: QueryConstraint[]): Query<AppModelType, DbModelType>;

Paramètres

Paramètre Taper Description
requête Requête <AppModelType, DbModelType> The Query instance to use as a base for the new constraints.
queryConstraints QueryConstraint [] The list of QueryConstraint s to apply.

Retour:

Requête <AppModelType, DbModelType>

Des exceptions

if any of the provided query constraints cannot be combined with the existing or new constraints.

function(queryConstraints, ...)

and(queryConstraints)

Creates a new QueryCompositeFilterConstraint that is a conjunction of the given filter constraints. A conjunction filter includes a document if it satisfies all of the given filters.

Signature:

export declare function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

Paramètres

Paramètre Taper Description
queryConstraints QueryFilterConstraint [] Facultatif. The list of QueryFilterConstraint s to perform a conjunction for. These must be created with calls to where() , ou() , ou et() .

Retour:

QueryCompositeFilterConstraint

The newly created QueryCompositeFilterConstraint .

or(queryConstraints)

Creates a new QueryCompositeFilterConstraint that is a disjunction of the given filter constraints. A disjunction filter includes a document if it satisfies any of the given filters.

Signature:

export declare function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

Paramètres

Paramètre Taper Description
queryConstraints QueryFilterConstraint [] Facultatif. The list of QueryFilterConstraint s to perform a disjunction for. These must be created with calls to where() , ou() , ou et() .

Retour:

QueryCompositeFilterConstraint

The newly created QueryCompositeFilterConstraint .

function(reference, ...)

addDoc(reference, data)

Add a new document to specified CollectionReference with the given data, assigning it a document ID automatically.

Signature:

export declare function addDoc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<DocumentReference<AppModelType, DbModelType>>;

Paramètres

Paramètre Taper Description
référence CollectionReference <AppModelType, DbModelType> A reference to the collection to add this document to.
données WithFieldValue <AppModelType> An Object containing the data for the new document.

Retour:

Promise< DocumentReference <AppModelType, DbModelType>>

A Promise resolved with a DocumentReference pointing to the newly created document after it has been written to the backend (Note that it won't resolve while you're offline).

collection(reference, path, pathSegments)

Gets a CollectionReference instance that refers to a subcollection of reference at the the specified relative path.

Signature:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Paramètres

Paramètre Taper Description
référence CollectionReference <AppModelType, DbModelType> A reference to a collection.
chemin chaîne A slash-separated path to a collection.
pathSegments chaîne[] Additional path segments to apply relative to the first argument.

Retour:

CollectionReference < DocumentData , DocumentData >

The CollectionReference instance.

Des exceptions

If the final path has an even number of segments and does not point to a collection.

collection(reference, path, pathSegments)

Gets a CollectionReference instance that refers to a subcollection of reference at the the specified relative path.

Signature:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to a Firestore document.
chemin chaîne A slash-separated path to a collection.
pathSegments chaîne[] Additional path segments that will be applied relative to the first argument.

Retour:

CollectionReference < DocumentData , DocumentData >

The CollectionReference instance.

Des exceptions

If the final path has an even number of segments and does not point to a collection.

deleteDoc(reference)

Deletes the document referred to by the specified DocumentReference .

Signature:

export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to the document to delete.

Retour:

Promise<void>

A Promise resolved once the document has been successfully deleted from the backend (note that it won't resolve while you're offline).

doc(reference, path, pathSegments)

Gets a DocumentReference instance that refers to a document within reference at the specified relative path. If no path is specified, an automatically-generated unique ID will be used for the returned DocumentReference .

Signature:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path?: string, ...pathSegments: string[]): DocumentReference<AppModelType, DbModelType>;

Paramètres

Paramètre Taper Description
référence CollectionReference <AppModelType, DbModelType> A reference to a collection.
chemin chaîne A slash-separated path to a document. Has to be omitted to use auto-genrated IDs.
pathSegments chaîne[] Additional path segments that will be applied relative to the first argument.

Retour:

Référence de document <AppModelType, DbModelType>

The DocumentReference instance.

Des exceptions

If the final path has an odd number of segments and does not point to a document.

doc(reference, path, pathSegments)

Gets a DocumentReference instance that refers to a document within reference at the specified relative path.

Signature:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to a Firestore document.
chemin chaîne A slash-separated path to a document.
pathSegments chaîne[] Additional path segments that will be applied relative to the first argument.

Retour:

Référence de document < DocumentData , DocumentData >

The DocumentReference instance.

Des exceptions

If the final path has an odd number of segments and does not point to a document.

getDoc(reference)

Reads the document referred to by this DocumentReference .

Signature:

export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> The reference of the document to fetch.

Retour:

Promise< DocumentSnapshot <AppModelType, DbModelType>>

A Promise resolved with a DocumentSnapshot containing the current document contents.

getDocFromCache(reference)

Reads the document referred to by this DocumentReference from cache. Returns an error if the document is not currently cached.

Signature:

export declare function getDocFromCache<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType>

Retour:

Promise< DocumentSnapshot <AppModelType, DbModelType>>

A Promise resolved with a DocumentSnapshot containing the current document contents.

getDocFromServer(reference)

Reads the document referred to by this DocumentReference from the server. Returns an error if the network is not available.

Signature:

export declare function getDocFromServer<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType>

Retour:

Promise< DocumentSnapshot <AppModelType, DbModelType>>

A Promise resolved with a DocumentSnapshot containing the current document contents.

onSnapshot(reference, observer)

Attaches a listener for DocumentSnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks.

NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

Signature:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, observer: {
    next?: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to the document to listen to.
observateur { next?: (snapshot: DocumentSnapshot <AppModelType, DbModelType>) => void; error?: (error: FirestoreError ) => void; complete?: () => void; } A single object containing next and error callbacks.

Retour:

Se désabonner

An unsubscribe function that can be called to cancel the snapshot listener.

onSnapshot(reference, options, observer)

Attaches a listener for DocumentSnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks.

NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

Signature:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, options: SnapshotListenOptions, observer: {
    next?: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to the document to listen to.
choix SnapshotListenOptions Options controlling the listen behavior.
observateur { next?: (snapshot: DocumentSnapshot <AppModelType, DbModelType>) => void; error?: (error: FirestoreError ) => void; complete?: () => void; } A single object containing next and error callbacks.

Retour:

Se désabonner

An unsubscribe function that can be called to cancel the snapshot listener.

onSnapshot(reference, onNext, onError, onCompletion)

Attaches a listener for DocumentSnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks.

NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

Signature:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, onNext: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to the document to listen to.
onNext (snapshot: DocumentSnapshot <AppModelType, DbModelType>) => void A callback to be called every time a new DocumentSnapshot is available.
onError (error: FirestoreError ) => void A callback to be called if the listen fails or is cancelled. No further callbacks will occur.
en complément () => void Can be provided, but will not be called since streams are never ending.

Retour:

Se désabonner

An unsubscribe function that can be called to cancel the snapshot listener.

onSnapshot(reference, options, onNext, onError, onCompletion)

Attaches a listener for DocumentSnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks.

NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

Signature:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, options: SnapshotListenOptions, onNext: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to the document to listen to.
choix SnapshotListenOptions Options controlling the listen behavior.
onNext (snapshot: DocumentSnapshot <AppModelType, DbModelType>) => void A callback to be called every time a new DocumentSnapshot is available.
onError (error: FirestoreError ) => void A callback to be called if the listen fails or is cancelled. No further callbacks will occur.
en complément () => void Can be provided, but will not be called since streams are never ending.

Retour:

Se désabonner

An unsubscribe function that can be called to cancel the snapshot listener.

setDoc(reference, data)

Writes to the document referred to by this DocumentReference . If the document does not yet exist, it will be created.

Signature:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<void>;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to the document to write.
données WithFieldValue <AppModelType> A map of the fields and values for the document.

Retour:

Promise<void>

A Promise resolved once the data has been successfully written to the backend (note that it won't resolve while you're offline).

setDoc(reference, data, options)

Writes to the document referred to by the specified DocumentReference . If the document does not yet exist, it will be created. If you provide merge or mergeFields , the provided data can be merged into an existing document.

Signature:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): Promise<void>;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to the document to write.
données PartialWithFieldValue <AppModelType> A map of the fields and values for the document.
choix SetOptions An object to configure the set behavior.

Retour:

Promise<void>

A Promise resolved once the data has been successfully written to the backend (note that it won't resolve while you're offline).

updateDoc(reference, data)

Updates fields in the document referred to by the specified DocumentReference . The update will fail if applied to a document that does not exist.

Signature:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): Promise<void>;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to the document to update.
données UpdateData <DbModelType> An object containing the fields and values with which to update the document. Fields can contain dots to reference nested fields within the document.

Retour:

Promise<void>

A Promise resolved once the data has been successfully written to the backend (note that it won't resolve while you're offline).

updateDoc(reference, field, value, moreFieldsAndValues)

Updates fields in the document referred to by the specified DocumentReference The update will fail if applied to a document that does not exist.

Nested fields can be updated by providing dot-separated field path strings or by providing FieldPath objects.

Signature:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise<void>;

Paramètres

Paramètre Taper Description
référence Référence de document <AppModelType, DbModelType> A reference to the document to update.
champ chaîne | FieldPath The first field to update.
valeur inconnu The first value.
moreFieldsAndValues inconnu[] Additional key value pairs.

Retour:

Promise<void>

A Promise resolved once the data has been successfully written to the backend (note that it won't resolve while you're offline).

function(settings, ...)

memoryLocalCache(settings)

Creates an instance of MemoryLocalCache . The instance can be set to FirestoreSettings.cache to tell the SDK which cache layer to use.

Signature:

export declare function memoryLocalCache(settings?: MemoryCacheSettings): MemoryLocalCache;

Paramètres

Paramètre Taper Description
paramètres MemoryCacheSettings

Retour:

MemoryLocalCache

memoryLruGarbageCollector(settings)

Creates an instance of MemoryLruGarbageCollector .

A target size can be specified as part of the setting parameter. The collector will start deleting documents once the cache size exceeds the given size. The default cache size is 40MB (40 * 1024 * 1024 bytes).

Signature:

export declare function memoryLruGarbageCollector(settings?: {
    cacheSizeBytes?: number;
}): MemoryLruGarbageCollector;

Paramètres

Paramètre Taper Description
paramètres { cacheSizeBytes?: number; }

Retour:

MemoryLruGarbageCollector

persistentLocalCache(settings)

Creates an instance of PersistentLocalCache . The instance can be set to FirestoreSettings.cache to tell the SDK which cache layer to use.

Persistent cache cannot be used in a Node.js environment.

Signature:

export declare function persistentLocalCache(settings?: PersistentCacheSettings): PersistentLocalCache;

Paramètres

Paramètre Taper Description
paramètres PersistentCacheSettings

Retour:

PersistentLocalCache

persistentSingleTabManager(settings)

Creates an instance of PersistentSingleTabManager .

Signature:

export declare function persistentSingleTabManager(settings: PersistentSingleTabManagerSettings | undefined): PersistentSingleTabManager;

Paramètres

Paramètre Taper Description
paramètres PersistentSingleTabManagerSettings | indéfini Configures the created tab manager.

Retour:

PersistentSingleTabManager

function(snapshot, ...)

endAt(snapshot)

Creates a QueryEndAtConstraint that modifies the result set to end at the provided document (inclusive). The end position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of the query.

Signature:

export declare function endAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

Paramètres

Paramètre Taper Description
instantané DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to end at.

Retour:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

endBefore(snapshot)

Creates a QueryEndAtConstraint that modifies the result set to end before the provided document (exclusive). The end position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of the query.

Signature:

export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

Paramètres

Paramètre Taper Description
instantané DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to end before.

Retour:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

startAfter(snapshot)

Creates a QueryStartAtConstraint that modifies the result set to start after the provided document (exclusive). The starting position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of the query.

Signature:

export declare function startAfter<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

Paramètres

Paramètre Taper Description
instantané DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to start after.

Retour:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query()

startAt(snapshot)

Creates a QueryStartAtConstraint that modifies the result set to start at the provided document (inclusive). The starting position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of this query.

Signature:

export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

Paramètres

Paramètre Taper Description
instantané DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to start at.

Retour:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query() .

CACHE_SIZE_UNLIMITED

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.

Signature:

CACHE_SIZE_UNLIMITED = -1

AddPrefixToKeys

Returns a new map where every key is prefixed with the outer key appended to a dot.

Signature:

export declare type AddPrefixToKeys<Prefix extends string, T extends Record<string, unknown>> = {
    [K in keyof T & string as `${Prefix}.${K}`]+?: string extends K ? any : T[K];
};

AggregateFieldType

The union of all AggregateField types that are supported by Firestore.

Signature:

export declare type AggregateFieldType = ReturnType<typeof sum> | ReturnType<typeof average> | ReturnType<typeof count>;

AggregateSpecData

A type whose keys are taken from an AggregateSpec , and whose values are the result of the aggregation performed by the corresponding AggregateField from the input AggregateSpec .

Signature:

export declare type AggregateSpecData<T extends AggregateSpec> = {
    [P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
};

AggregateType

Union type representing the aggregate type to be performed.

Signature:

export declare type AggregateType = 'count' | 'avg' | 'sum';

ChildUpdateFields

Helper for calculating the nested fields for a given type T1. This is needed to distribute union types such as undefined | {...} (happens for optional props) or {a: A} | {b: B} .

In this use case, V is used to distribute the union types of T[K] on Record , since T[K] is evaluated as an expression and not distributed.

See https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types

Signature:

export declare type ChildUpdateFields<K extends string, V> = V extends Record<string, unknown> ? AddPrefixToKeys<K, UpdateData<V>> : never;

DocumentChangeType

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

Signature:

export declare type DocumentChangeType = 'added' | 'removed' | 'modified';

FirestoreErrorCode

The set of Firestore status codes. The codes are the same at the ones exposed by gRPC here: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

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 (eg 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.

Signature:

export declare type 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';

FirestoreLocalCache

Union type from all supported SDK cache layer.

Signature:

export declare type FirestoreLocalCache = MemoryLocalCache | PersistentLocalCache;

ListenSource

Describe the source a query listens to.

Set to default to listen to both cache and server changes. Set to cache to listen to changes in cache only.

Signature:

export declare type ListenSource = 'default' | 'cache';

MemoryGarbageCollector

Union type from all support gabage collectors for memory local cache.

Signature:

export declare type MemoryGarbageCollector = MemoryEagerGarbageCollector | MemoryLruGarbageCollector;

NestedUpdateFields

For each field (eg 'bar'), find all nested keys (eg { 'bar.baz': T1, 'bar.qux': T2 } ). Intersect them together to make a single map containing all possible keys that are all marked as optional

Signature:

export declare type NestedUpdateFields<T extends Record<string, unknown>> = UnionToIntersection<{
    [K in keyof T & string]: ChildUpdateFields<K, T[K]>;
}[keyof T & string]>;

OrderByDirection

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

Signature:

export declare type OrderByDirection = 'desc' | 'asc';

PartialWithFieldValue

Similar to Typescript's Partial<T> , but allows nested fields to be omitted and FieldValues to be passed in as property values.

Signature:

export declare type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
} : never);

PersistentTabManager

A union of all available tab managers.

Signature:

export declare type PersistentTabManager = PersistentSingleTabManager | PersistentMultipleTabManager;

Primitif

Primitive types.

Signature:

export declare type Primitive = string | number | boolean | undefined | null;

QueryConstraintType

Describes the different query constraints available in this SDK.

Signature:

export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';

QueryFilterConstraint

QueryFilterConstraint is a helper union type that represents QueryFieldFilterConstraint and QueryCompositeFilterConstraint .

Signature:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

QueryNonFilterConstraint

QueryNonFilterConstraint is a helper union type that represents QueryConstraints which are used to narrow or order the set of documents, but that do not explicitly filter on a document field. QueryNonFilterConstraint s are created by invoking orderBy() , commencer à() , startAfter() , endBefore() , Fin à() , limit() or limitToLast() and can then be passed to query() to create a new query instance that also contains the QueryConstraint .

Signature:

export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;

SetOptions

An options object that configures the behavior of setDoc() , and calls. These calls can be configured to perform granular merges instead of overwriting the target documents in their entirety by providing a SetOptions with merge: true .

Signature:

export declare type SetOptions = {
    readonly merge?: boolean;
} | {
    readonly mergeFields?: Array<string | FieldPath>;
};

TaskState

Represents the state of bundle loading tasks.

Both 'Error' and 'Success' are sinking state: task will abort or complete and there will be no more updates after they are reported.

Signature:

export declare type TaskState = 'Error' | 'Running' | 'Success';

UnionToIntersection

Given a union type U = T1 | T2 | ... , returns an intersected type (T1 & T2 & ...) .

Uses distributive conditional types and inference from conditional types. This works because multiple candidates for the same type variable in contra-variant positions causes an intersection type to be inferred. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection -taper

Signature:

export declare type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;

UpdateData

Update data (for use with updateDoc() ) that consists of field paths (eg 'foo' or 'foo.baz') mapped to values. Fields that contain dots reference nested fields within the document. FieldValues can be passed in as property values.

Signature:

export declare type UpdateData<T> = T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: UpdateData<T[K]> | FieldValue;
} & NestedUpdateFields<T> : Partial<T>;

WhereFilterOp

Filter conditions in a where() clause are specified using the strings '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains', 'in', 'array-contains-any', and 'not-in'.

Signature:

export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';

WithFieldValue

Allows FieldValues to be passed in as a property value while maintaining type safety.

Signature:

export declare type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]: WithFieldValue<T[K]> | FieldValue;
} : never);