@firebase/firestore/lite

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 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) Initialise une nouvelle instance de Cloud 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() .
initializeFirestore (application, paramètres, identifiant de base de données) (BETA) Initialise une nouvelle instance de Cloud 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, ...)
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.
doc (firestore, chemin, cheminSegments) Obtient une instance DocumentReference qui fait référence au document au chemin absolu spécifié.
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.
terminer (firestore) Termine l'instance Firestore fournie. Après avoir appelé terminate() seules les fonctions clearIndexedDbPersistence() peuvent être utilisées. Toute autre fonction lancera une FirestoreError . 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. Pour redémarrer après la résiliation, créez une nouvelle instance de Firestore avec getFirestore() . 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.
é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. Le résultat de ces écritures ne sera reflété que dans les lectures de documents effectuées après la résolution de la promesse renvoyée. Si le client est hors ligne, l'écriture échoue. Si vous souhaitez voir les modifications locales ou les écritures dans le tampon jusqu'à ce que le client soit en ligne, utilisez le SDK Firestore complet.
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.
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 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(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, ...)
getAggregate (requête, AggregateSpec) 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).
getCount (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).
getDocs (requête) Exécute la requête et renvoie les résultats sous forme de QuerySnapshot . Toutes les requêtes sont exécutées directement par le serveur, même si la requête a déjà été exécutée. Les modifications récentes ne sont reflétées dans les résultats récupérés que si elles ont déjà été appliquées par le backend. Si le client est hors ligne, l'opération échoue. Pour voir les résultats précédemment mis en cache et les modifications locales, utilisez le SDK Firestore complet.
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. Le résultat de cette écriture ne sera reflété que dans les lectures de documents effectuées après la résolution de la promesse renvoyée. Si le client est hors ligne, l'écriture échoue. Si vous souhaitez voir les modifications locales ou les écritures dans le tampon jusqu'à ce que le client soit en ligne, utilisez le SDK Firestore complet.
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é. La suppression ne sera reflétée que dans les lectures de documents effectuées après la résolution de la promesse renvoyée. Si le client est hors ligne, la suppression échoue. Si vous souhaitez voir les modifications locales ou les écritures dans le tampon jusqu'à ce que le client soit en ligne, utilisez le SDK Firestore complet.
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 la référence de document spécifiée. Tous les documents sont directement récupérés depuis le serveur, même si le document a déjà été lu ou modifié. Les modifications récentes ne sont reflétées dans le DocumentSnapshot récupéré que si elles ont déjà été appliquées par le backend. Si le client est hors ligne, la lecture échoue. Si vous souhaitez utiliser la mise en cache ou voir les modifications locales, veuillez utiliser le SDK Firestore complet.
setDoc (référence, données) Écrit dans le document référencé par le DocumentReference spécifié. Si le document n'existe pas encore, il sera créé. Le résultat de cette écriture ne sera reflété que dans les lectures de documents effectuées après la résolution de la promesse renvoyée. Si le client est hors ligne, l'écriture échoue. Si vous souhaitez voir les modifications locales ou les écritures dans le tampon jusqu'à ce que le client soit en ligne, utilisez le SDK Firestore complet.
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. Le résultat de cette écriture ne sera reflété que dans les lectures de documents effectuées après la résolution de la promesse renvoyée. Si le client est hors ligne, l'écriture échoue. Si vous souhaitez voir les modifications locales ou les écritures dans le tampon jusqu'à ce que le client soit en ligne, utilisez le SDK Firestore complet.
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. Le résultat de cette mise à jour ne sera reflété que dans les lectures de documents effectuées après la résolution de la promesse renvoyée. Si le client est hors ligne, la mise à jour échoue. Si vous souhaitez voir les modifications locales ou les écritures dans le tampon jusqu'à ce que le client soit en ligne, utilisez le SDK Firestore complet.
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 . Le résultat de cette mise à jour ne sera reflété que dans les lectures de documents effectuées après la résolution de la promesse renvoyée. Si le client est hors ligne, la mise à jour échoue. Si vous souhaitez voir les modifications locales ou les écritures dans le tampon jusqu'à ce que le client soit en ligne, utilisez le SDK Firestore complet.
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].
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. Les QueryOrderByConstraint sont créés en appelant orderBy() et peuvent 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.
RequêteSnapshot Un QuerySnapshot contient zéro ou plusieurs objets DocumentSnapshot représentant les résultats d'une requête. Les documents sont accessibles sous forme de 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 .
RequêteDébutAtConstraint Un QueryStartAtConstraint est utilisé pour exclure des documents du début d'un ensemble de résultats renvoyé par une requête Firestore. Les QueryStartAtConstraint sont créés en appelant startAt() ou startAfter() et peuvent ensuite être transmis à query() pour créer une nouvelle instance de requête qui contient également ce QueryStartAtConstraint .
Horodatage Un Timestamp représente un instant indépendant de tout fuseau horaire ou calendrier, représenté sous forme de secondes et de fractions de secondes à une résolution nanoseconde en heure UTC Epoch. Il est codé à l'aide du calendrier grégorien proleptique qui étend le calendrier grégorien en arrière jusqu'à la première année. Il est codé en supposant que toutes les minutes durent 60 secondes, c'est-à-dire que les secondes intercalaires sont "étalées" de sorte qu'aucune table de secondes intercalaires n'est nécessaire pour l'interprétation. La plage va 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 permettant de lire et d'écrire des données dans le contexte de la transaction. Voir runTransaction() .
ÉcrireBatch Un lot d'écriture, utilisé pour effectuer plusieurs écritures en tant qu'unité atomique unique. 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 validée (ou visible localement) jusqu'à ce que WriteBatch.commit() soit appelé.

Interfaces

Interface Description
Spécification d'agrégat Spécifie un ensemble d'agrégations et leurs alias.
DocumentDonnées Données du document (à utiliser avec setDoc() ) se compose de champs mappés à des valeurs.
Convertisseur de données Firestore Convertisseur utilisé par withConverter() pour transformer des 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 depuis Firestore. Dans ce contexte, un « AppModel » est une classe utilisée dans une application pour regrouper des informations et des fonctionnalités associées. 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 des fonctions d'assistance qui effectuent des opérations composées. De telles classes ne sont pas adaptées et/ou ne peuvent pas être stockées dans une base de données Firestore. Au lieu de cela, les instances de ces classes doivent être converties en « objets JavaScript simples » (POJO) avec des propriétés exclusivement primitives, potentiellement imbriquées dans d'autres POJO ou tableaux de POJO. 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 dans Firestore, et convertir DbModel en AppModel lors de la récupération depuis Firestore.
Paramètres Spécifie les configurations personnalisées pour votre instance Cloud Firestore. Vous devez les définir avant d'invoquer d'autres méthodes.
Options de transaction Options pour personnaliser le comportement des transactions.

Tapez les alias

Tapez l'alias Description
AddPrefixToKeys Renvoie une nouvelle carte où chaque clé est préfixée par la clé externe ajoutée à un point.
Type de champ agrégé L'union de tous les types AggregateField pris en charge par Firestore.
AggregateSpecData Type dont les clés sont extraites d'un AggregateSpec et dont les valeurs sont le résultat de l'agrégation effectuée par le AggregateField correspondant à partir de l'entrée AggregateSpec .
Type d'agrégat Type d'union représentant le type d'agrégat à effectuer.
Champs de mise à jour des enfants Aide au calcul des champs imbriqués pour un type T1 donné. Ceci est nécessaire pour distribuer les types d'union tels que undefined | {...} (cela se produit pour les accessoires facultatifs) ou {a: A} | {b: B} . Dans ce cas d'utilisation, V est utilisé pour distribuer les types d'union de T[K] sur Record , puisque T[K] est évalué comme une expression et non distribué. Voir https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types
Code d'erreur Firestore L'ensemble des codes d'état Firestore. Les codes sont les mêmes que ceux exposés par gRPC ici : https://github.com/grpc/grpc/blob/master/doc/statuscodes.md Valeurs possibles : - 'annulé' : L'opération a été annulée (typiquement par l'appelant). - 'inconnu' : erreur inconnue ou erreur provenant d'un domaine d'erreur différent. - 'invalid-argument' : le client a spécifié un argument non valide. Notez que cela diffère de « échec de précondition ». 'invalid-argument' indique les arguments qui posent problème quel que soit l'état du système (par exemple un nom de champ invalide). - « délai dépassé » : le délai a expiré avant que l'opération 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 le délai expire. - 'non trouvé' : Un document demandé n'a pas été trouvé. - « existe déjà » : un document que nous avons tenté de créer existe déjà. - 'autorisation refusée' : l'appelant n'a pas l'autorisation d'exécuter l'opération spécifiée. - « épuisement des ressources » : une ressource a été épuisée, peut-être un quota par utilisateur, ou peut-être que l'ensemble du système de fichiers manque d'espace. - 'failed-precondition' : 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. - « aborted » : l'opération a été abandonnée, généralement en raison d'un problème de concurrence comme des abandons de transactions, etc. - « hors plage » : l'opération a été tentée au-delà de la plage valide. - « non implémenté » : l'opération n'est pas implémentée ou n'est pas 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 l’une de ces erreurs, quelque chose est vraiment cassé. - 'indisponible' : Le service est actuellement indisponible. Il s'agit très probablement d'une condition transitoire qui peut être corrigée en réessayant avec une interruption. - 'data-loss' : perte ou corruption irrécupérable de données. - « non authentifié » : la demande ne dispose pas d'informations d'authentification valides pour l'opération.
Champs de mise à jour imbriqués Pour chaque champ (par exemple 'bar'), recherchez toutes les clés imbriquées (par exemple { 'bar.baz' : T1, 'bar.qux' : T2 } ). Coupez-les ensemble pour créer une seule carte contenant toutes les clés possibles qui sont toutes marquées comme facultatives
CommandeParDirection La direction d'une clause orderBy() est spécifiée comme « desc » ou « asc » (décroissant ou ascendant).
PartialWithFieldValue Semblable au Partial<T> de Typescript, mais permet d'omettre les champs imbriqués et de transmettre les FieldValues ​​en tant que valeurs de propriété.
Primitif Types primitifs.
Type de contrainte de requête Décrit les différentes contraintes de requête disponibles dans ce SDK.
QueryFilterConstraint QueryFilterConstraint est un type d'union auxiliaire qui représente QueryFieldFilterConstraint et QueryCompositeFilterConstraint. .
QueryNonFilterConstraint QueryNonFilterConstraint est un type d'union auxiliaire qui représente les QueryConstraints qui sont utilisés pour restreindre ou trier l'ensemble de documents, mais qui ne filtrent pas explicitement sur un champ de document. QueryNonFilterConstraint sont créés en appelant orderBy() , commencer à() , startAfter() , finAvant() , Fin à() , limit() ou limitToLast() et peut ensuite être transmis à query() pour créer une nouvelle instance de requête qui contient également QueryConstraint .
Définir les options 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 un SetOptions avec merge: true .
UnionVersIntersection É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 car plusieurs candidats pour la même variable de type dans des positions contravariantes entraînent 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/questions/50374908/transform-union-type-to-intersection -taper
Mettre à jour les données Mettre à jour les données (à utiliser avec updateDoc() ) qui se compose de chemins de champs (par exemple 'foo' ou 'foo.baz') mappés à des valeurs. Les champs contenant des points font référence à des champs imbriqués dans le document. Les FieldValues ​​peuvent être transmises en tant que valeurs de propriété.
OùFilterOp Les conditions de filtre dans une clause Where() sont spécifiées à l'aide des chaînes '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains'. , 'in', 'tableau-contient-tout' et 'pas-in'.
AvecFieldValue Permet de transmettre FieldValues ​​en tant que valeur de propriété tout en conservant la sécurité du type.

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.

Signature:

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

Paramètres

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

Retour:

Firestore

L'instance Firestore de l'application fournie.

getFirestore (application, ID de base de données)

Cette API est fournie en avant-première pour les 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 existante associée à la FirebaseApp fournie . Si aucune instance n'existe, initialise une nouvelle instance avec les paramètres par défaut.

Signature:

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

Paramètres

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

Retour:

Firestore

L'instance Firestore de l'application fournie.

initializeFirestore (application, paramètres)

Initialise une nouvelle instance de Cloud 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: Settings): Firestore;

Paramètres

Paramètre Taper Description
application FirebaseApp FirebaseApp à laquelle l'instance Firestore sera associée.
paramètres Paramètres Un objet de paramètres pour configurer l'instance Firestore .

Retour:

Firestore

Une instance Firestore nouvellement initialisée.

initializeFirestore (application, paramètres, identifiant de base de données)

Cette API est fournie en avant-première pour les développeurs et peut changer en fonction des commentaires que nous recevons. N'utilisez pas cette API dans un environnement de production.

Initialise une nouvelle instance de Cloud 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: Settings, databaseId?: string): Firestore;

Paramètres

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

Retour:

Firestore

Une instance Firestore nouvellement initialisée.

fonction (firestore, ...)

collection (firestore, chemin, cheminSegments)

Obtient une instance CollectionReference qui fait référence à la collection au 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 d'accès à une collection séparé par des barres obliques.
cheminSegments chaîne[] Segments de chemin supplémentaires à appliquer par rapport au premier argument.

Retour:

CollectionRéférence < DocumentDonnées , DocumentData >

Instance CollectionReference .

Des exceptions

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

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é. .

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 .
ID de collection chaîne Identifie les collections sur lesquelles interroger. Chaque collection ou sous-collection avec cet ID comme dernier segment de son chemin sera incluse. Ne peut pas contenir de barre oblique.

Retour:

Requête < DocumentDonnées , DocumentData >

La Query créée .

connectFirestoreEmulator (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 ? : EmulatorMockTokenOptions | chaîne; }

Retour:

vide

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.

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 Options de transaction 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.

Terminer (Firestore)

Termine l'instance Firestore fournie.

Après avoir appelé terminate() seules les fonctions clearIndexedDbPersistence() peuvent être utilisées. Toute autre fonction lancera une FirestoreError . La terminaison n'annule aucune écriture en attente, et toute promesse qui attend une réponse du serveur ne sera pas résolue.

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

Signature:

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

Paramètres

Paramètre Taper Description
magasin de feu Firestore L'instance Firestore à résilier.

Retour:

Promesse<vide>

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

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.

Le résultat de ces écritures ne sera reflété que dans les lectures de documents qui se produisent après la résolution de la promesse retournée. Si le client est hors ligne, l'écriture échoue. Si vous souhaitez voir des modifications locales ou des écritures de tampon jusqu'à ce que le client soit en ligne, utilisez le SDK complet de Firestore.

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 de l'application fournie.

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.

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 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 Firestore de l'application fournie.

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)

Renvoie une valeur spéciale qui peut être utilisée avec SetDoc () ou UpdatedOC () qui indique au serveur d'union 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 modifié n'est pas déjà un tableau, il sera écrasé avec un tableau contenant exactement les éléments spécifiés.

Signature:

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

Paramètres

Paramètre Taper Description
éléments inconnu[] Les éléments de l'union dans le tableau.

Retour:

Surface

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

fonction (champ, ...)

moyen (champ)

Créez un objet AggregateField qui peut être utilisé pour calculer la moyenne d'un champ spécifié sur une gamme de documents dans l'ensemble de résultats d'une requête.

Signature:

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

Paramètres

Paramètre Taper Description
champ chaîne | Parcours de terrain Spécifie le champ en moyenne sur l'ensemble de résultats.

Retour:

Agrégatfield <nombre | null>

somme (champ)

Créez un objet AggregateField qui peut être utilisé pour calculer la somme d'un champ spécifié sur une gamme de documents dans l'ensemble de résultats d'une requête.

Signature:

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

Paramètres

Paramètre Taper Description
champ chaîne | Parcours de terrain Spécifie le champ pour résumer sur l'ensemble de résultats.

Retour:

Agrégatfield <graisser>

Fonction (FieldPath, ...)

OrderBy (FieldPath, DirectionTR)

Crée un QueryOrderByConstraint qui trie le résultat de la requête par le champ spécifié, éventuellement par ordre décroissant au lieu de monter.

Signature:

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

Paramètres

Paramètre Taper Description
parcours de terrain chaîne | Parcours de terrain Le champ à trier.
orisestr Commander par ladirection Direction facultative pour trier par ('ASC' ou 'DESC'). Si elle n'est pas spécifiée, l'ordre va ascendant.

Retour:

QueryOrderByConstraint

La question créée .

Où (FieldPath, Opstr, valeur)

Crée un QueryFieldFilterConstraint qui applique que les documents doivent contenir le champ spécifié et que la valeur doit satisfaire la contrainte de relation fournie.

Signature:

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

Paramètres

Paramètre Taper Description
parcours de terrain chaîne | Parcours de terrain Le chemin de comparer
Opstr WhereFilterop La chaîne d'opération (par exemple "& lt;", "& lt; =", "==", "& lt;", "& lt; =", "! =").
valeur inconnu La valeur de comparaison

Retour:

QueryFieldFilterConstraint

Le CreatedFieldFilterConstraint .

Fonction (FieldValues, ...)

Endat (FieldValues)

Crée un QueryendatConstraint qui modifie le résultat des 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 de l'ordre par les clauses de la requête.

Signature:

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

Paramètres

Paramètre Taper Description
valeurs sur le terrain inconnu[] Les valeurs de champ pour mettre fin à cette requête, par ordre de l'ordre de la requête par.

Retour:

Queryendatconstraint

Une questionnatConstraint à passer à query()

endbefore (fieldvalues)

Crée un QueryendatConstraint qui modifie le résultat des résultats pour se terminer devant les champs fournis par rapport à l'ordre de la requête. L'ordre des valeurs de champ doit correspondre à l'ordre de l'ordre par les clauses de la requête.

Signature:

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

Paramètres

Paramètre Taper Description
valeurs sur le terrain inconnu[] Les valeurs de champ pour mettre fin à cette requête avant, dans l'ordre de l'ordre de la requête par.

Retour:

Queryendatconstraint

Une questionnatConstraint à passer à query()

StartAfter (FieldValues)

Crée un QueryStartAtConstraint qui modifie l'ensemble de résultats pour démarrer après les champs fournis par rapport à l'ordre de la requête. L'ordre des valeurs de champ doit correspondre à l'ordre de l'ordre par les clauses de la requête.

Signature:

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

Paramètres

Paramètre Taper Description
valeurs sur le terrain inconnu[] Les valeurs du champ pour démarrer cette requête après, dans l'ordre de l'ordre de la requête par.

Retour:

QuerystartatConstraint

Un questionnaire queryStArtArtraine à passer à query()

Startat (FieldValues)

Crée un QueryStartAtConstraint qui modifie l'ensemble de résultats pour démarrer aux champs fournis par rapport à l'ordre de la requête. L'ordre des valeurs de champ doit correspondre à l'ordre de l'ordre par les clauses de la requête.

Signature:

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

Paramètres

Paramètre Taper Description
valeurs sur le terrain inconnu[] Les valeurs du champ pour démarrer cette requête, par ordre de l'ordre de la requête par.

Retour:

QuerystartatConstraint

Un questionnaire queryStArtArtraine à passer à query() .

Fonction (à gauche, ...)

agrégateFieldEqual (à gauche, à droite)

Compare deux 'Aggregatefield `Instances pour l'égalité.

Signature:

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

Paramètres

Paramètre Taper Description
gauche Agrégatfield <inconnu> Comparez ce champ agrégé à right .
droite Agrégatfield <inconnu> Comparez ce champ agrégé à la left .

Retour:

booléen

agrégatequerysnapshotequal (à gauche, à droite)

Compare deux instances AggregateQuerySnapshot pour l'égalité.

Deux instances AggregateQuerySnapshot sont considérées comme "égales" si elles ont des requêtes sous-jacentes qui se comparent égales et les mêmes données.

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 Agrégatequerysnapshot <Agrégatespectype, appmodelType, dbModelType> Le premier AggregateQuerySnapshot à comparer.
droite Agrégatequerysnapshot <Agrégatespectype, appmodelType, dbModelType> Le deuxième AggregateQuerySnapshot à comparer.

Retour:

booléen

true si les objets sont "égaux", tels que définis ci-dessus, ou false sinon.

Queryequal (à gauche, à droite)

Renvoie True si les requêtes fournies pointent vers la même collection et appliquent les mêmes contraintes.

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> Une Query à comparer.
droite Requête <AppModelType, DBModelType> Une Query à comparer.

Retour:

booléen

Vrai si les références pointent vers le même emplacement dans la même base de données Firestore.

Rebelle (à gauche, à droite)

Renvoie True si les références fournies sont égales.

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> | Relevé de collecte <AppModelType, DBModelType> Une référence à comparer.
droite Référence de document <AppmodelType, dbModelType> | Relevé de collecte <AppModelType, DBModelType> Une référence à comparer.

Retour:

booléen

Vrai si les références pointent vers le même emplacement dans la même base de données Firestore.

Snapshotequal (à gauche, à droite)

Renvoie True si les instantanés fournis sont égaux.

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 Documents Napshot <AppmodelType, dbModelType> | Querysnapshot <AppModelType, DBModelType> Un instantané à comparer.
droite Documents Napshot <AppmodelType, dbModelType> | Querysnapshot <AppModelType, DBModelType> Un instantané à comparer.

Retour:

booléen

vrai si les instantanés sont égaux.

fonction(limite, ...)

limite (limite)

Crée une question de la construction qui ne renvoie que les premiers documents correspondants.

Signature:

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

Paramètres

Paramètre Taper Description
limite nombre Le nombre maximum d'articles à retourner.

Retour:

Requérir de la construction

La question créée .

limiteVersDernier(limite)

Crée une question de la construction qui ne renvoie que les derniers documents correspondants.

Vous devez spécifier au moins une clause orderBy pour les requêtes limitToLast , sinon une exception sera lancée lors de l'exécution.

Signature:

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

Paramètres

Paramètre Taper Description
limite nombre Le nombre maximum d'articles à retourner.

Retour:

Requérir de la construction

La question créée .

Fonction (LoGlevel, ...)

setLoglevel (Loglevel)

Définit la verbosité des journaux Cloud Firestore (débogage, erreur ou silencieux).

Signature:

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

Paramètres

Paramètre Taper Description
logevel Niveau de journal La verbosité que vous définissez pour la journalisation de l'activité et des erreurs. Peut être l'une des valeurs suivantes:
  • debug pour le niveau de journalisation le plus verbeux, principalement pour le débogage.
  • error pour enregistrer les erreurs uniquement.
  • silent to turn off logging.

Retour:

vide

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 par la valeur donnée.

Si l'opérande ou la valeur de champ actuelle utilise une précision de point flottante, tout arithmétique suit la sémantique IEEE 754. Si les deux valeurs sont des entiers, des valeurs en dehors de la plage de nombres sûres de JavaScript ( Number.MIN_SAFE_INTEGER à Number.MAX_SAFE_INTEGER ) sont également soumis à une perte de précision. De plus, une fois traités par le backend Firestore, toutes les opérations entières sont plafonnées entre -2 ^ 63 et 2 ^ 63-1.

Si la valeur de champ actuelle n'est pas du number de type , ou si le champ n'existe pas encore, la transformation définit le champ vers la valeur donnée.

Signature:

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

Paramètres

Paramètre Taper Description
n nombre La valeur à incrémenter par.

Retour:

Surface

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

fonction(requête, ...)

getaggregate (requête, agrégatespec)

Calcule les agrégations spécifiées sur les documents dans l'ensemble de résultats de la requête donnée sans 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 des documents dans les cas où l'ensemble de résultats est prohibitif de télécharger entièrement (des milliers de documents).

Signature:

export declare function getAggregate<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> La requête dont l'ensemble de résultats est agrégé.
agrégatspec Agrégaterypeype Un objet AggregateSpec qui spécifie les agrégats à effectuer sur l'ensemble de résultats. L'agrégatspec spécifie les alias pour chaque agrégat, qui peut être utilisé pour récupérer le résultat agrégé.

Retour:

Promesse < agrégatequerysnapshot <Agrégatespectype, appmodelType, dbModelType >>

Exemple

const aggregateSnapshot = await getAggregate(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;

getCount (requête)

Calcule le nombre de documents dans l'ensemble de résultats de la requête donnée sans télécharger les documents.

L'utilisation de cette fonction pour compter les documents est efficace car seul le nombre 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 de télécharger entièrement (des milliers de documents).

Signature:

export declare function getCount<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> La requête dont la taille de l'ensemble de résultats est calculée.

Retour:

Promesse < agrégatequerysnapshot <{Count: AggregateField <bumber>; }, AppmodelType, dbModelType >>

Une promesse qui sera résolue avec le décompte; Le nombre peut être récupéré à partir de snapshot.data().count , où snapshot est le AggregateQuerySnapshot à lequel la promesse retournée se résout.

getDocs (requête)

Exécute la requête et renvoie les résultats en tant que questionnaire .

Toutes les requêtes sont exécutées directement par le serveur, même si la requête était précédemment exécutée. Les modifications récentes ne se reflètent que dans les résultats récupérés que s'ils ont déjà été appliqués par le backend. Si le client est hors ligne, l'opération échoue. Pour voir les résultats précédemment mis en cache et les modifications locales, utilisez le SDK complet Firestore.

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> La Query à exécuter.

Retour:

Promesse < queerysnapshot <AppmodelType, dbModelType >>

Une promesse qui sera résolue avec les résultats de la requête.

requête (requête, compositefilter, requêtes)

Crée une nouvelle instance immuable de Query qui est étendue pour inclure également des contraintes de requête supplémentaires.

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> Instance de requête à utiliser comme base pour les nouvelles contraintes.
CompositeFilter QueryCompositeFilterConstraint Le QueryCompositeFilterConstraint à postuler. Créez des territoires QueryCompositeFilterConstraint en utilisant et () ou () .
contraintes de requête QuerynonfilterConstraint [] QueryNonFilterConstraint s pour s'appliquer (par exemple ordonnance () , limit () ).

Retour:

Requête <AppModelType, DBModelType>

Des exceptions

si l'une des contraintes de requête fournies ne peut pas être combinée avec les contraintes existantes ou nouvelles.

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.

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> Instance de requête à utiliser comme base pour les nouvelles contraintes.
contraintes de requête Contrainte de requête [] La liste des requêtes s pour postuler.

Retour:

Requête <AppModelType, DBModelType>

Des exceptions

si l'une des contraintes de requête fournies ne peut pas être combinée avec les contraintes existantes ou nouvelles.

Fonction (QueryConstraints, ...)

et (requêtes Constraints)

Crée un nouveau QueryCompositeFilterConstraint qui est une conjonction des contraintes de filtre donné. Un filtre de conjonction comprend un document s'il satisfait tous les filtres donnés.

Signature:

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

Paramètres

Paramètre Taper Description
contraintes de requête QueryfilterConstraint [] Facultatif. La liste des requêtes s pour effectuer une conjonction pour. Ceux-ci doivent être créés avec des appels à l'endroit où () , ou() , ou et() .

Retour:

QueryCompositeFilterConstraint

La nouvelle querycompositeFilterConstraint .

ou (questionnois)

Crée une nouvelle Coutraistraint QueryCompositeFilter qui est une disjonction des contraintes de filtre données. Un filtre de disjonction comprend un document s'il satisfait l'un des filtres donnés.

Signature:

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

Paramètres

Paramètre Taper Description
contraintes de requête QueryfilterConstraint [] Facultatif. La liste des requêtes s pour effectuer une disjonction pour. Ceux-ci doivent être créés avec des appels à l'endroit où () , ou() , ou et() .

Retour:

QueryCompositeFilterConstraint

La nouvelle querycompositeFilterConstraint .

fonction (référence, ...)

addDoc (référence, données)

Ajoutez un nouveau document à CollectionReference spécifiée avec les données données, en lui attribuant automatiquement un ID de document.

Le résultat de cette écriture ne sera reflété que dans les lectures de documents qui se produisent après la résolution de la promesse retournée. Si le client est hors ligne, l'écriture échoue. Si vous souhaitez voir des modifications locales ou des écritures de tampon jusqu'à ce que le client soit en ligne, utilisez le SDK complet de Firestore.

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 Relevé de collecte <AppModelType, DBModelType> Une référence à la collection pour ajouter ce document à.
données Withfieldvalue <AppmodelType> Un objet contenant les données du nouveau document.

Retour:

Promesse < documentReference <AppmodelType, dbModelType >>

Une Promise résolue avec une DocumentReference pointant vers le document nouvellement créé après avoir été écrit sur le backend.

Des exceptions

Erreur - Si l'entrée fournie n'est pas un document Firestore valide.

Collection (référence, chemin, pathsegments)

Obtient une instance CollectionReference qui fait référence à une sous-collection de reference au chemin relatif spécifié.

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 Relevé de collecte <AppModelType, DBModelType> Une référence à une collection.
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.

Collection (référence, chemin, pathsegments)

Obtient une instance CollectionReference qui fait référence à une sous-collection de reference au chemin relatif spécifié.

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> Une référence à un document Firestore.
chemin chaîne Un chemin séparé par une collection.
pathsegments chaîne[] Segments de chemin supplémentaires qui seront appliqués par rapport 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.

Deletedoc (référence)

Supprime le document mentionné par le DocumentReference spécifié .

La suppression ne sera reflétée que dans les lectures de documents qui se produisent après la résolution de la promesse retournée. Si le client est hors ligne, la suppression échoue. Si vous souhaitez voir des modifications locales ou des écritures de tampon jusqu'à ce que le client soit en ligne, utilisez le SDK complet de Firestore.

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> Une référence au document à supprimer.

Retour:

Promesse<vide>

Une Promise résolue une fois que le document a été supprimé avec succès du backend.

doc (référence, chemin, pathsegments)

Obtient une instance DocumentReference qui fait référence à un document dans la reference sur le chemin relatif spécifié. Si aucun chemin n'est spécifié, un ID unique généré automatiquement sera utilisé pour le DocumentReference renvoyé .

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 Relevé de collecte <AppModelType, DBModelType> Une référence à une collection.
chemin chaîne Un chemin séparé par une barre oblique vers un document. Doit être omis d'utiliser des ID génrés automatiquement.
pathsegments chaîne[] Segments de chemin supplémentaires qui seront appliqués par rapport au premier argument.

Retour:

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

L'instance DocumentReference .

Des exceptions

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

doc (référence, chemin, pathsegments)

Obtient une instance DocumentReference qui fait référence à un document dans la reference sur le chemin relatif spécifié.

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> Une référence à un document 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.

getDoc (référence)

Lit le document mentionné par la référence de document spécifiée.

Tous les documents sont directement récupérés à partir du serveur, même si le document a été précédemment lu ou modifié. Les modifications récentes se reflètent dans les DocumentSnapshot récupérés que si elles ont déjà été appliquées par le backend. Si le client est hors ligne, la lecture échoue. Si vous aimez utiliser la mise en cache ou voir les modifications locales, veuillez utiliser le SDK complet de Firestore.

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> La référence du document à récupérer.

Retour:

Promesse < documents napshot <AppmodelType, dbModelType >>

Une promesse résolue avec un DocumentSnapshot contenant le contenu du document actuel.

setDoc (référence, données)

Écrit au document mentionné par le DocumentReference spécifié . Si le document n'existe pas encore, il sera créé.

Le résultat de cette écriture ne sera reflété que dans les lectures de documents qui se produisent après la résolution de la promesse retournée. Si le client est hors ligne, l'écriture échoue. Si vous souhaitez voir des modifications locales ou des écritures de tampon jusqu'à ce que le client soit en ligne, utilisez le SDK complet de Firestore.

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> Une référence au document à écrire.
données Withfieldvalue <AppmodelType> Une carte des champs et des valeurs du document.

Retour:

Promesse<vide>

Une Promise résolue une fois que les données ont été écrites avec succès sur le backend.

Des exceptions

Erreur - Si l'entrée fournie n'est pas un document Firestore valide.

setDoc (référence, données, options)

Écrit au document mentionné par le DocumentReference spécifié . Si le document n'existe pas encore, il sera créé. Si vous fournissez des champs merge ou mergeFields , les données fournies peuvent être fusionnées dans un document existant.

Le résultat de cette écriture ne sera reflété que dans les lectures de documents qui se produisent après la résolution de la promesse retournée. Si le client est hors ligne, l'écriture échoue. Si vous souhaitez voir des modifications locales ou des écritures de tampon jusqu'à ce que le client soit en ligne, utilisez le SDK complet de Firestore.

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> Une référence au document à écrire.
données Partial avec une valeur <AppmodelType> Une carte des champs et des valeurs du document.
choix Setoptions Un objet pour configurer le comportement de définition.

Retour:

Promesse<vide>

Une Promise résolue une fois que les données ont été écrites avec succès sur le backend.

Des exceptions

Erreur - Si l'entrée fournie n'est pas un document Firestore valide.

UpdatedOC (référence, données)

Mise à jour les champs du document mentionné par le DocumentReference spécifié . La mise à jour échouera si elle est appliquée à un document qui n'existe pas.

Le résultat de cette mise à jour ne sera reflété que dans les lectures de documents qui se produisent après la résolution de la promesse retournée. Si le client est hors ligne, la mise à jour échoue. Si vous souhaitez voir des modifications locales ou des écritures de tampon jusqu'à ce que le client soit en ligne, utilisez le SDK complet de Firestore.

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> Une référence au document à mettre à jour.
données Updatedata <DbModelType> Un objet contenant les champs et les valeurs avec lesquels mettre à jour le document. Les champs peuvent contenir des points pour référencer les champs imbriqués dans le document.

Retour:

Promesse<vide>

Une Promise résolue une fois que les données ont été écrites avec succès sur le backend.

Des exceptions

Erreur - Si l'entrée fournie n'est pas des données Firestore valides.

UpdatedOC (référence, champ, valeur, morefieldsandvalues)

Mette à jour les champs du document mentionné 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 DOT ou en fournissant des objets FieldPath .

Le résultat de cette mise à jour ne sera reflété que dans les lectures de documents qui se produisent après la résolution de la promesse retournée. Si le client est hors ligne, la mise à jour échoue. Si vous souhaitez voir des modifications locales ou des écritures de tampon jusqu'à ce que le client soit en ligne, utilisez le SDK complet de Firestore.

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> Une référence au document à mettre à jour.
champ chaîne | Parcours de terrain Le premier champ à mettre à jour.
valeur inconnu La première valeur.
Plus de valeurs et de valeurs inconnu[] Paires de valeurs de clé supplémentaires.

Retour:

Promesse<vide>

Une Promise résolue une fois que les données ont été écrites avec succès sur le backend.

Des exceptions

Erreur - Si l'entrée fournie n'est pas des données Firestore valides.

fonction (instantané, ...)

endat (instantané)

Crée un QueryendatConstraint qui modifie le jeu de résultats pour se terminer au document fourni (inclusif). La position finale est relative à l'ordre de la requête. Le document doit contenir tous les champs fournis dans l'ordre par la requête.

Signature:

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

Paramètres

Paramètre Taper Description
instantané Documents Napshot <AppModelType, DBModelType> L'instantané du document à terminer.

Retour:

Queryendatconstraint

Une questionnatConstraint à passer à query()

endbefore (instantané)

Crée un QueryEndatConstraint qui modifie le jeu de résultats pour se terminer 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 l'ordre par la requête.

Signature:

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

Paramètres

Paramètre Taper Description
instantané Documents Napshot <AppModelType, DBModelType> L'instantané du document à terminer avant.

Retour:

Queryendatconstraint

Une questionnatConstraint à passer à query()

startafter (instantané)

Crée un QueryStartAtConstraint qui modifie l'ensemble de résultats pour démarrer 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 l'ordre par la requête.

Signature:

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

Paramètres

Paramètre Taper Description
instantané Documents Napshot <AppModelType, DBModelType> L'instantané du document à démarrer après.

Retour:

QuerystartatConstraint

Un questionnaire queryStArtArtraine à passer à query()

Startat (instantané)

Crée un QueryStartAtConstraint qui modifie l'ensemble de résultats pour démarrer au document fourni (inclusif). La position de départ est relative à l'ordre de la requête. Le document doit contenir tous les champs fournis dans l' orderBy par cette requête.

Signature:

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

Paramètres

Paramètre Taper Description
instantané Documents Napshot <AppModelType, DBModelType> L'instantané du document à commencer.

Retour:

QuerystartatConstraint

Un questionnaire queryStArtArtraine à passer à query() .

Addprefixtokeys

Renvoie une nouvelle carte où chaque clé est préfixée avec la clé extérieure annexée à un point.

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

Le syndicat de tous les types AggregateField qui sont soutenus par Firestore.

Signature:

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

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 .

Signature:

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

Agrégaterype

Type d'union représentant le type agrégé à effectuer.

Signature:

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

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 Record les types syndicaux de T[K] , puisque T[K] est évalué comme une expression et non distribué.

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

Signature:

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

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.

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';

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

Signature:

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

Commander par ladirection

La direction d'une clause OrderBy () est spécifiée sous forme de «desc» ou «ASC» (descendant ou ascendant).

Signature:

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

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.

Signature:

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

Primitif

Types primitifs.

Signature:

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

Type de contrainte de requête

Décrit les différentes contraintes de requête disponibles dans ce SDK.

Signature:

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

QueryfilterConstraint

QueryFilterConstraint est un type d'union d'assistance qui représente QueryFieldFilterConstraint et QueryCompositeFilterConstraine .

Signature:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

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() , finAvant() , Fin à() , limit () ou limitetolast () et peut ensuite être transmis à QueryConstraint () pour créer une nouvelle instance de requête qui contient également .

Signature:

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

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 .

Signature:

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

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/questions/50374908/transform-union-type-com/questions/50374908/transform-union-type-com/Questions/50374908/transform-union-type-com/Questions/50374908/transform-union-type-com/Question/50374908/transform-union-type-com/Question/50374908 -taper

Signature:

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

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é.

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

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».

Signature:

export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | '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.

Signature:

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