@firebase/firestore/lite

Funktionen

Funktion Beschreibung
Funktion(App, ...)
getFirestore(App) Gibt die vorhandene Standard- Firestore- Instanz zurück, die der bereitgestellten FirebaseApp zugeordnet ist . Wenn keine Instanz vorhanden ist, wird eine neue Instanz mit Standardeinstellungen initialisiert.
getFirestore(app, Datenbank-ID) (BETA) Gibt die vorhandene Firestore- Instanz zurück, die der bereitgestellten FirebaseApp zugeordnet ist . Wenn keine Instanz vorhanden ist, wird eine neue Instanz mit Standardeinstellungen initialisiert.
initializeFirestore(App, Einstellungen) Initialisiert eine neue Instanz von Cloud Firestore mit den bereitgestellten Einstellungen. Kann nur vor allen anderen Funktionen aufgerufen werden, einschließlich getFirestore() . Wenn die benutzerdefinierten Einstellungen leer sind, entspricht diese Funktion dem Aufruf von getFirestore() .
initializeFirestore(app, Einstellungen, Datenbank-ID) (BETA) Initialisiert eine neue Instanz von Cloud Firestore mit den bereitgestellten Einstellungen. Kann nur vor allen anderen Funktionen aufgerufen werden, einschließlich getFirestore() . Wenn die benutzerdefinierten Einstellungen leer sind, entspricht diese Funktion dem Aufruf von getFirestore() .
Funktion(Firestore, ...)
Sammlung (Firestore, Pfad, Pfadsegmente) Ruft eine CollectionReference Instanz ab, die auf die Sammlung am angegebenen absoluten Pfad verweist.
CollectionGroup(Firestore, CollectionId) Erstellt eine neue Query und gibt sie zurück, die alle Dokumente in der Datenbank enthält, die in einer Sammlung oder Untersammlung mit der angegebenen collectionId enthalten sind.
connectFirestoreEmulator(Firestore, Host, Port, Optionen) Ändern Sie diese Instanz, um mit dem Cloud Firestore-Emulator zu kommunizieren. Hinweis: Dies muss aufgerufen werden, bevor diese Instanz zum Ausführen von Vorgängen verwendet wurde.
doc(firestore, path, pathSegments) Ruft eine DocumentReference Instanz ab, die auf das Dokument im angegebenen absoluten Pfad verweist.
runTransaction(firestore, updateFunction, Optionen) Führt die angegebene updateFunction aus und versucht dann, die innerhalb der Transaktion vorgenommenen Änderungen festzuschreiben. Wenn sich ein innerhalb der Transaktion gelesenes Dokument geändert hat, wiederholt Cloud Firestore die updateFunction . Wenn der Commit nach fünf Versuchen fehlschlägt, schlägt die Transaktion fehl. Die maximal zulässige Anzahl von Schreibvorgängen in einer einzelnen Transaktion beträgt 500.
beenden(Firestore) Beendet die bereitgestellte Firestore Instanz. Nach dem Aufruf von terminate() dürfen nur noch die Funktionen clearIndexedDbPersistence() verwendet werden. Jede andere Funktion löst einen FirestoreError aus. Durch die Beendigung werden keine ausstehenden Schreibvorgänge abgebrochen, und alle Zusagen, die auf eine Antwort vom Server warten, werden nicht aufgelöst. Um nach der Beendigung neu zu starten, erstellen Sie eine neue Instanz von Firestore mit getFirestore() . Hinweis: Unter normalen Umständen ist der Aufruf von terminate() nicht erforderlich. Diese Funktion ist nur dann nützlich, wenn Sie diese Instanz zwingen möchten, alle ihre Ressourcen freizugeben, oder in Kombination mit clearIndexedDbPersistence() sicherstellen möchten, dass der gesamte lokale Status zwischen Testläufen zerstört wird.
writeBatch(Firestore) Erstellt einen Schreibstapel, der zum Durchführen mehrerer Schreibvorgänge als einzelne atomare Operation verwendet wird. Die maximal zulässige Anzahl von Schreibvorgängen in einem einzelnen WriteBatch beträgt 500. Das Ergebnis dieser Schreibvorgänge spiegelt sich nur in Dokumentlesevorgängen wider, die nach der Auflösung des zurückgegebenen Versprechens erfolgen. Wenn der Client offline ist, schlägt der Schreibvorgang fehl. Wenn Sie lokale Änderungen oder Pufferschreibvorgänge sehen möchten, bis der Client online ist, verwenden Sie das vollständige Firestore SDK.
Funktion()
zählen() Erstellen Sie ein AggregateField-Objekt, mit dem die Anzahl der Dokumente im Ergebnissatz einer Abfrage berechnet werden kann.
deleteField() Gibt einen Sentinel zur Verwendung mit updateDoc() oder setDoc() mit {merge: true} zurück, um ein Feld zum Löschen zu markieren.
Dokument Identifikation() Gibt einen speziellen Sentinel- FieldPath zurück, um auf die ID eines Dokuments zu verweisen. Es kann in Abfragen zum Sortieren oder Filtern nach der Dokument-ID verwendet werden.
getFirestore() Gibt die vorhandene Standard- Firestore- Instanz zurück, die der Standard- FirebaseApp zugeordnet ist . Wenn keine Instanz vorhanden ist, wird eine neue Instanz mit Standardeinstellungen initialisiert.
serverTimestamp() Gibt einen Sentinel zurück, der mit setDoc() oder updateDoc() verwendet wird, um einen vom Server generierten Zeitstempel in die geschriebenen Daten aufzunehmen.
Funktion(Datenbank-ID, ...)
getFirestore(Datenbank-ID) (BETA) Gibt die vorhandene Firestore- Instanz zurück, die der Standard- FirebaseApp zugeordnet ist . Wenn keine Instanz vorhanden ist, wird eine neue Instanz mit Standardeinstellungen initialisiert.
Funktion(Elemente, ...)
arrayRemove(elemente) Gibt einen speziellen Wert zurück, der mit setDoc() verwendet werden kann oder der den Server anweist, die angegebenen Elemente aus jedem Array-Wert zu entfernen, der bereits auf dem Server vorhanden ist. Alle Instanzen jedes angegebenen Elements werden aus dem Array entfernt. Wenn das zu ändernde Feld nicht bereits ein Array ist, wird es mit einem leeren Array überschrieben.
arrayUnion(elemente) Gibt einen speziellen Wert zurück, der mit setDoc() oder updateDoc() verwendet werden kann und den Server anweist, die angegebenen Elemente mit jedem Array-Wert zu vereinen, der bereits auf dem Server vorhanden ist. Jedes angegebene Element, das noch nicht im Array vorhanden ist, wird am Ende hinzugefügt. Wenn das zu ändernde Feld nicht bereits ein Array ist, wird es mit einem Array überschrieben, das genau die angegebenen Elemente enthält.
Funktion(Feld, ...)
Durchschnitt(Feld) Erstellen Sie ein AggregateField-Objekt, das zur Berechnung des Durchschnitts eines angegebenen Felds über einen Bereich von Dokumenten im Ergebnissatz einer Abfrage verwendet werden kann.
Summe(Feld) Erstellen Sie ein AggregateField-Objekt, mit dem die Summe eines angegebenen Felds über einen Bereich von Dokumenten im Ergebnissatz einer Abfrage berechnet werden kann.
Funktion(fieldPath, ...)
orderBy(fieldPath, DirectionStr) Erstellt eine QueryOrderByConstraint , die das Abfrageergebnis nach dem angegebenen Feld sortiert, optional in absteigender Reihenfolge statt aufsteigend. Hinweis: Dokumente, die das angegebene Feld nicht enthalten, sind im Abfrageergebnis nicht vorhanden.
where(fieldPath, opStr, value) Erstellt eine QueryFieldFilterConstraint , die erzwingt, dass Dokumente das angegebene Feld enthalten müssen und dass der Wert die bereitgestellte Beziehungsbeschränkung erfüllen muss.
Funktion(Feldwerte, ...)
endAt(fieldValues) Erstellt eine QueryEndAtConstraint , die den Ergebnissatz so ändert, dass er bei den bereitgestellten Feldern relativ zur Reihenfolge der Abfrage endet. Die Reihenfolge der Feldwerte muss mit der Reihenfolge der order by-Klauseln der Abfrage übereinstimmen.
endBefore(fieldValues) Erstellt eine QueryEndAtConstraint , die die Ergebnismenge so ändert, dass sie relativ zur Reihenfolge der Abfrage vor den bereitgestellten Feldern endet. Die Reihenfolge der Feldwerte muss mit der Reihenfolge der order by-Klauseln der Abfrage übereinstimmen.
startAfter(fieldValues) Erstellt eine QueryStartAtConstraint , die den Ergebnissatz so ändert, dass er nach den bereitgestellten Feldern relativ zur Reihenfolge der Abfrage beginnt. Die Reihenfolge der Feldwerte muss mit der Reihenfolge der order by-Klauseln der Abfrage übereinstimmen.
startAt(fieldValues) Erstellt eine QueryStartAtConstraint , die den Ergebnissatz so ändert, dass er bei den bereitgestellten Feldern relativ zur Reihenfolge der Abfrage beginnt. Die Reihenfolge der Feldwerte muss mit der Reihenfolge der order by-Klauseln der Abfrage übereinstimmen.
Funktion(links, ...)
aggregatFieldEqual(links, rechts) Vergleicht zwei 'AggregateField „Instanzen für Gleichberechtigung.“
aggregatQuerySnapshotEqual(links, rechts) Vergleicht zwei AggregateQuerySnapshot Instanzen auf Gleichheit. Zwei AggregateQuerySnapshot Instanzen gelten als „gleich“, wenn ihnen zugrunde liegende Abfragen mit gleichen Vergleichswerten und denselben Daten zugrunde liegen.
queryEqual(links, rechts) Gibt „true“ zurück, wenn die bereitgestellten Abfragen auf dieselbe Sammlung verweisen und dieselben Einschränkungen anwenden.
refEqual(links, rechts) Gibt „true“ zurück, wenn die bereitgestellten Referenzen gleich sind.
snapshotEqual(links, rechts) Gibt true zurück, wenn die bereitgestellten Snapshots gleich sind.
Funktion(Limit, ...)
Grenze(Grenze) Erstellt eine QueryLimitConstraint , die nur die ersten übereinstimmenden Dokumente zurückgibt.
limitToLast(limit) Erstellt eine QueryLimitConstraint , die nur die letzten übereinstimmenden Dokumente zurückgibt. Sie müssen mindestens eine orderBy Klausel für limitToLast Abfragen angeben, andernfalls wird während der Ausführung eine Ausnahme ausgelöst.
Funktion(logLevel, ...)
setLogLevel(logLevel) Legt die Ausführlichkeit von Cloud Firestore-Protokollen fest (Debug, Fehler oder Still).
Funktion(n, ...)
Inkrement(n) Gibt einen speziellen Wert zurück, der mit setDoc() oder updateDoc() verwendet werden kann und den Server anweist, den aktuellen Wert des Felds um den angegebenen Wert zu erhöhen. Wenn entweder der Operand oder der aktuelle Feldwert Gleitkommagenauigkeit verwendet, folgt die gesamte Arithmetik der IEEE 754-Semantik. Wenn beide Werte Ganzzahlen sind, unterliegen auch Werte außerhalb des sicheren Zahlenbereichs von JavaScript ( Number.MIN_SAFE_INTEGER bis Number.MAX_SAFE_INTEGER ) einem Präzisionsverlust. Darüber hinaus sind alle Ganzzahloperationen nach der Verarbeitung durch das Firestore-Backend auf einen Wert zwischen -2^63 und 2^63-1 begrenzt. Wenn der aktuelle Feldwert nicht vom Typ number ist oder das Feld noch nicht vorhanden ist, setzt die Transformation das Feld auf den angegebenen Wert.
Funktion(Abfrage, ...)
getAggregate(query,aggregatSpec) Berechnet die angegebenen Aggregationen über die Dokumente im Ergebnissatz der angegebenen Abfrage, ohne die Dokumente tatsächlich herunterzuladen. Die Verwendung dieser Funktion zum Durchführen von Aggregationen ist effizient, da nur die endgültigen Aggregationswerte und nicht die Daten der Dokumente heruntergeladen werden. Diese Funktion kann Aggregationen der Dokumente durchführen, wenn die Ergebnismenge zu groß ist, um sie vollständig herunterzuladen (Tausende von Dokumenten).
getCount(Abfrage) Berechnet die Anzahl der Dokumente im Ergebnissatz der angegebenen Abfrage, ohne die Dokumente tatsächlich herunterzuladen. Die Verwendung dieser Funktion zum Zählen der Dokumente ist effizient, da nur die endgültige Zählung und nicht die Daten der Dokumente heruntergeladen werden. Diese Funktion kann die Dokumente zählen, wenn die Ergebnismenge zu groß ist, um sie vollständig herunterzuladen (Tausende von Dokumenten).
getDocs(Abfrage) Führt die Abfrage aus und gibt die Ergebnisse als QuerySnapshot zurück . Alle Abfragen werden direkt vom Server ausgeführt, auch wenn die Abfrage zuvor ausgeführt wurde. Aktuelle Änderungen werden nur dann in den abgerufenen Ergebnissen widergespiegelt, wenn sie bereits vom Backend angewendet wurden. Wenn der Client offline ist, schlägt der Vorgang fehl. Um zuvor zwischengespeicherte Ergebnisse und lokale Änderungen anzuzeigen, verwenden Sie das vollständige Firestore SDK.
Abfrage(Abfrage, CompositeFilter, AbfrageConstraints) Erstellt eine neue unveränderliche Instanz von Query , die um zusätzliche Abfrageeinschränkungen erweitert wird.
query(query, queryConstraints) Erstellt eine neue unveränderliche Instanz von Query , die um zusätzliche Abfrageeinschränkungen erweitert wird.
Funktion(queryConstraints, ...)
und(queryConstraints) Erstellt eine neue QueryCompositeFilterConstraint , die eine Verbindung der angegebenen Filtereinschränkungen ist. Ein Konjunktionsfilter schließt ein Dokument ein, wenn es alle angegebenen Filter erfüllt.
oder(queryConstraints) Erstellt eine neue QueryCompositeFilterConstraint , die eine Disjunktion der angegebenen Filtereinschränkungen ist. Ein Disjunktionsfilter schließt ein Dokument ein, wenn es einen der angegebenen Filter erfüllt.
Funktion(Referenz, ...)
addDoc(Referenz, Daten) Fügen Sie mit den angegebenen Daten ein neues Dokument zur angegebenen CollectionReference hinzu und weisen Sie ihm automatisch eine Dokument-ID zu. Das Ergebnis dieses Schreibvorgangs spiegelt sich nur in Dokumentlesevorgängen wider, die nach der Auflösung des zurückgegebenen Versprechens erfolgen. Wenn der Client offline ist, schlägt der Schreibvorgang fehl. Wenn Sie lokale Änderungen oder Pufferschreibvorgänge sehen möchten, bis der Client online ist, verwenden Sie das vollständige Firestore SDK.
Sammlung (Referenz, Pfad, Pfadsegmente) Ruft eine CollectionReference Instanz ab, die auf eine untergeordnete reference im angegebenen relativen Pfad verweist.
Sammlung (Referenz, Pfad, Pfadsegmente) Ruft eine CollectionReference Instanz ab, die auf eine untergeordnete reference im angegebenen relativen Pfad verweist.
deleteDoc(Referenz) Löscht das Dokument, auf das durch die angegebene DocumentReference verwiesen wird. Die Löschung wird nur in Dokumentlesevorgängen berücksichtigt, die nach der Auflösung des zurückgegebenen Versprechens erfolgen. Wenn der Client offline ist, schlägt der Löschvorgang fehl. Wenn Sie lokale Änderungen oder Pufferschreibvorgänge sehen möchten, bis der Client online ist, verwenden Sie das vollständige Firestore SDK.
doc(Referenz, Pfad, Pfadsegmente) Ruft eine DocumentReference Instanz ab, die auf ein Dokument innerhalb der reference am angegebenen relativen Pfad verweist. Wenn kein Pfad angegeben ist, wird eine automatisch generierte eindeutige ID für die zurückgegebene DocumentReference verwendet.
doc(Referenz, Pfad, Pfadsegmente) Ruft eine DocumentReference Instanz ab, die auf ein Dokument innerhalb der reference am angegebenen relativen Pfad verweist.
getDoc(Referenz) Liest das Dokument, auf das die angegebene Dokumentreferenz verweist. Alle Dokumente werden direkt vom Server abgerufen, auch wenn das Dokument zuvor gelesen oder geändert wurde. Kürzlich vorgenommene Änderungen werden nur dann im abgerufenen DocumentSnapshot widergespiegelt, wenn sie bereits vom Backend angewendet wurden. Wenn der Client offline ist, schlägt der Lesevorgang fehl. Wenn Sie Caching verwenden oder lokale Änderungen sehen möchten, verwenden Sie bitte das vollständige Firestore SDK.
setDoc(Referenz, Daten) Schreibt in das Dokument, auf das die angegebene DocumentReference verweist. Wenn das Dokument noch nicht existiert, wird es erstellt. Das Ergebnis dieses Schreibvorgangs spiegelt sich nur in Dokumentlesevorgängen wider, die nach der Auflösung des zurückgegebenen Versprechens erfolgen. Wenn der Client offline ist, schlägt der Schreibvorgang fehl. Wenn Sie lokale Änderungen oder Pufferschreibvorgänge sehen möchten, bis der Client online ist, verwenden Sie das vollständige Firestore SDK.
setDoc(Referenz, Daten, Optionen) Schreibt in das Dokument, auf das die angegebene DocumentReference verweist. Wenn das Dokument noch nicht existiert, wird es erstellt. Wenn Sie merge oder mergeFields bereitstellen, können die bereitgestellten Daten in ein vorhandenes Dokument eingefügt werden. Das Ergebnis dieses Schreibvorgangs spiegelt sich nur in Dokumentlesevorgängen wider, die nach der Auflösung des zurückgegebenen Versprechens erfolgen. Wenn der Client offline ist, schlägt der Schreibvorgang fehl. Wenn Sie lokale Änderungen oder Pufferschreibvorgänge sehen möchten, bis der Client online ist, verwenden Sie das vollständige Firestore SDK.
updateDoc(Referenz, Daten) Aktualisiert Felder im Dokument, auf das durch die angegebene DocumentReference verwiesen wird. Die Aktualisierung schlägt fehl, wenn sie auf ein nicht vorhandenes Dokument angewendet wird. Das Ergebnis dieser Aktualisierung spiegelt sich nur in Dokumentlesevorgängen wider, die nach der Auflösung des zurückgegebenen Versprechens erfolgen. Wenn der Client offline ist, schlägt das Update fehl. Wenn Sie lokale Änderungen oder Pufferschreibvorgänge sehen möchten, bis der Client online ist, verwenden Sie das vollständige Firestore SDK.
updateDoc(Referenz, Feld, Wert, moreFieldsAndValues) Aktualisiert Felder im Dokument, auf das die angegebene DocumentReference verweist. Die Aktualisierung schlägt fehl, wenn sie auf ein Dokument angewendet wird, das nicht vorhanden ist. Verschachtelte Felder können durch die Bereitstellung von durch Punkte getrennten Feldpfadzeichenfolgen oder durch die Bereitstellung FieldPath Objekten aktualisiert werden. Das Ergebnis dieser Aktualisierung spiegelt sich nur in Dokumentlesevorgängen wider, die nach der Auflösung des zurückgegebenen Versprechens erfolgen. Wenn der Client offline ist, schlägt das Update fehl. Wenn Sie lokale Änderungen oder Pufferschreibvorgänge sehen möchten, bis der Client online ist, verwenden Sie das vollständige Firestore SDK.
Funktion(Schnappschuss, ...)
endAt(Snapshot) Erstellt eine QueryEndAtConstraint , die den Ergebnissatz so ändert, dass er beim bereitgestellten Dokument (einschließlich) endet. Die Endposition ist relativ zur Reihenfolge der Abfrage. Das Dokument muss alle im orderBy der Abfrage bereitgestellten Felder enthalten.
endBefore(Schnappschuss) Erstellt eine QueryEndAtConstraint , die die Ergebnismenge so ändert, dass sie vor dem bereitgestellten Dokument endet (exklusiv). Die Endposition ist relativ zur Reihenfolge der Abfrage. Das Dokument muss alle im orderBy der Abfrage bereitgestellten Felder enthalten.
startAfter(Schnappschuss) Erstellt eine QueryStartAtConstraint , die den Ergebnissatz so ändert, dass er nach dem bereitgestellten Dokument beginnt (exklusiv). Die Startposition ist relativ zur Reihenfolge der Abfrage. Das Dokument muss alle im orderBy der Abfrage bereitgestellten Felder enthalten.
startAt(snapshot) Erstellt eine QueryStartAtConstraint , die den Ergebnissatz so ändert, dass er beim bereitgestellten Dokument (einschließlich) beginnt. Die Startposition ist relativ zur Reihenfolge der Abfrage. Das Dokument muss alle im orderBy dieser Abfrage bereitgestellten Felder enthalten.

Klassen

Klasse Beschreibung
AggregateField Stellt eine Aggregation dar, die von Firestore durchgeführt werden kann.
AggregateQuerySnapshot Die Ergebnisse der Ausführung einer Aggregationsabfrage.
Bytes Ein unveränderliches Objekt, das ein Array von Bytes darstellt.
CollectionReference Ein CollectionReference Objekt kann zum Hinzufügen von Dokumenten, zum Abrufen von Dokumentverweisen und zum Abfragen von Dokumenten (mit query()) verwendet werden. ).
Dokumentverweis Eine DocumentReference verweist auf einen Dokumentspeicherort in einer Firestore-Datenbank und kann zum Schreiben, Lesen oder Abhören des Speicherorts verwendet werden. Das Dokument am angegebenen Speicherort kann vorhanden sein oder auch nicht.
DocumentSnapshot Ein DocumentSnapshot enthält Daten, die aus einem Dokument in Ihrer Firestore-Datenbank gelesen wurden. Die Daten können mit .data() oder .get(<field>) extrahiert werden, um ein bestimmtes Feld zu erhalten. Bei einem DocumentSnapshot , der auf ein nicht vorhandenes Dokument verweist, gibt jeder Datenzugriff „undefiniert“ zurück. Sie können die Methode exists() verwenden, um die Existenz eines Dokuments explizit zu überprüfen.
FieldPath Ein FieldPath bezieht sich auf ein Feld in einem Dokument. Der Pfad kann aus einem einzelnen Feldnamen (der sich auf ein Feld der obersten Ebene im Dokument bezieht) oder aus einer Liste von Feldnamen (die sich auf ein verschachteltes Feld im Dokument bezieht) bestehen. Erstellen Sie einen FieldPath , indem Sie Feldnamen angeben. Wenn mehr als ein Feldname angegeben wird, verweist der Pfad auf ein verschachteltes Feld in einem Dokument.
Feldwert Sentinel-Werte, die beim Schreiben von Dokumentfeldern mit set() oder update() verwendet werden können.
Feuerladen Die Cloud Firestore-Dienstschnittstelle. Rufen Sie diesen Konstruktor nicht direkt auf. Verwenden Sie stattdessen getFirestore() .
FirestoreError Ein von einem Firestore-Vorgang zurückgegebener Fehler.
GeoPoint Ein unveränderliches Objekt, das einen geografischen Standort in Firestore darstellt. Der Standort wird als Breiten-/Längengradpaar dargestellt. Breitengrade liegen im Bereich von [-90, 90]. Längengrade liegen im Bereich von [-180, 180].
Abfrage Eine Query bezieht sich auf eine Abfrage, die Sie lesen oder anhören können. Sie können auch verfeinerte Query erstellen, indem Sie Filter und Sortierungen hinzufügen.
QueryCompositeFilterConstraint Eine QueryCompositeFilterConstraint wird verwendet, um den Satz von Dokumenten einzugrenzen, die von einer Firestore-Abfrage zurückgegeben werden, indem das logische ODER oder UND mehrerer QueryFieldFilterConstraints ausgeführt wird s oder QueryCompositeFilterConstraint S. QueryCompositeFilterConstraint s werden durch Aufrufen von or() oder and() erstellt und können dann an query() übergeben werden, um eine neue Abfrageinstanz zu erstellen, die auch QueryCompositeFilterConstraint enthält.
Abfrageeinschränkung Eine QueryConstraint wird verwendet, um den Satz von Dokumenten einzugrenzen, die von einer Firestore-Abfrage zurückgegeben werden. QueryConstraint s werden durch Aufrufen von where() erstellt , Sortieren nach() , anfangen bei() , startAfter() , endBefore() , endAt() , Grenze() , limitToLast() und kann dann an query() übergeben werden, um eine neue Abfrageinstanz zu erstellen, die auch diese QueryConstraint enthält.
QueryDocumentSnapshot Ein QueryDocumentSnapshot enthält Daten, die im Rahmen einer Abfrage aus einem Dokument in Ihrer Firestore-Datenbank gelesen wurden. Die Existenz des Dokuments ist garantiert und seine Daten können mit .data() oder .get(<field>) extrahiert werden, um ein bestimmtes Feld zu erhalten. Ein QueryDocumentSnapshot bietet die gleiche API-Oberfläche wie ein DocumentSnapshot . Da Abfrageergebnisse nur vorhandene Dokumente enthalten, ist die Eigenschaft „ exists “ immer wahr und data() gibt niemals „undefiniert“ zurück.
QueryEndAtConstraint Ein QueryEndAtConstraint wird verwendet, um Dokumente vom Ende eines Ergebnissatzes auszuschließen, der von einer Firestore-Abfrage zurückgegeben wird. QueryEndAtConstraint s werden durch Aufrufen von endAt() oder endBefore() erstellt und können dann an query() übergeben werden, um eine neue Abfrageinstanz zu erstellen, die auch diesen QueryEndAtConstraint enthält.
QueryFieldFilterConstraint Eine QueryFieldFilterConstraint wird verwendet, um die Menge der von einer Firestore-Abfrage zurückgegebenen Dokumente einzugrenzen, indem nach einem oder mehreren Dokumentfeldern gefiltert wird. QueryFieldFilterConstraint s werden durch den Aufruf von where() erstellt und können dann an query() übergeben werden, um eine neue Abfrageinstanz zu erstellen, die auch diesen QueryFieldFilterConstraint enthält.
QueryLimitConstraint Eine QueryLimitConstraint wird verwendet, um die Anzahl der von einer Firestore-Abfrage zurückgegebenen Dokumente zu begrenzen. QueryLimitConstraint s werden durch Aufrufen von limit() oder limitToLast() erstellt und können dann an query() übergeben werden, um eine neue Abfrageinstanz zu erstellen, die auch diesen QueryLimitConstraint enthält.
QueryOrderByConstraint Ein QueryOrderByConstraint wird verwendet, um den Satz von Dokumenten zu sortieren, der von einer Firestore-Abfrage zurückgegeben wird. QueryOrderByConstraint s werden durch Aufrufen von orderBy() erstellt und können dann an query() übergeben werden, um eine neue Abfrageinstanz zu erstellen, die auch diesen QueryOrderByConstraint enthält. Hinweis: Dokumente, die das Feld „orderBy“ nicht enthalten, sind im Abfrageergebnis nicht vorhanden.
AbfrageSnapshot Ein QuerySnapshot enthält null oder mehr DocumentSnapshot Objekte, die die Ergebnisse einer Abfrage darstellen. Auf die Dokumente kann als Array über die docs Eigenschaft zugegriffen oder mit der forEach Methode aufgezählt werden. Die Anzahl der Dokumente kann über die Eigenschaften empty und size bestimmt werden.
QueryStartAtConstraint Ein QueryStartAtConstraint wird verwendet, um Dokumente vom Anfang eines Ergebnissatzes auszuschließen, der von einer Firestore-Abfrage zurückgegeben wird. QueryStartAtConstraint s werden durch Aufrufen von startAt() oder startAfter() erstellt und können dann an query() übergeben werden, um eine neue Abfrageinstanz zu erstellen, die auch diesen QueryStartAtConstraint enthält.
Zeitstempel Ein Timestamp stellt einen Zeitpunkt unabhängig von einer Zeitzone oder einem Kalender dar und wird als Sekunden und Bruchteile von Sekunden mit einer Auflösung von Nanosekunden in der UTC-Epochenzeit dargestellt. Es wird mit dem Proleptischen Gregorianischen Kalender kodiert, der den Gregorianischen Kalender rückwärts bis zum ersten Jahr erweitert. Die Codierung erfolgt unter der Annahme, dass alle Minuten 60 Sekunden lang sind, dh Schaltsekunden werden „verschmiert“, sodass für die Interpretation keine Schaltsekundentabelle erforderlich ist. Der Bereich reicht von 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59.999999999Z. Beispiele und weitere Spezifikationen finden Sie in der Timestamp-Definition .
Transaktion Ein Verweis auf eine Transaktion. Das an die updateFunction einer Transaktion übergebene Transaction Objekt stellt die Methoden zum Lesen und Schreiben von Daten im Transaktionskontext bereit. Siehe runTransaction() .
WriteBatch Ein Schreibstapel, der zum Ausführen mehrerer Schreibvorgänge als einzelne atomare Einheit verwendet wird. Ein WriteBatch Objekt kann durch Aufrufen von writeBatch() abgerufen werden. . Es bietet Methoden zum Hinzufügen von Schreibvorgängen zum Schreibstapel. Keiner der Schreibvorgänge wird festgeschrieben (oder lokal sichtbar), bis WriteBatch.commit() aufgerufen wird.

Schnittstellen

Schnittstelle Beschreibung
AggregateSpec Gibt eine Reihe von Aggregationen und deren Aliase an.
Dokumentdaten Dokumentdaten (zur Verwendung mit setDoc() ) besteht aus Feldern, die Werten zugeordnet sind.
FirestoreDataConverter Konverter, der von withConverter() verwendet wird, um Benutzerobjekte vom Typ AppModelType in Firestore-Daten vom Typ DbModelType umzuwandeln. Mit dem Konverter können Sie beim Speichern und Abrufen von Objekten aus Firestore generische Typargumente angeben. In diesem Zusammenhang ist ein „AppModel“ eine Klasse, die in einer Anwendung verwendet wird, um verwandte Informationen und Funktionen zusammenzufassen. Eine solche Klasse könnte beispielsweise Eigenschaften mit komplexen, verschachtelten Datentypen, Eigenschaften zur Memoisierung, Eigenschaften von Typen, die von Firestore nicht unterstützt werden (z. B. symbol und bigint ), sowie Hilfsfunktionen haben, die zusammengesetzte Operationen ausführen. Solche Klassen eignen sich nicht und/oder können nicht in einer Firestore-Datenbank gespeichert werden. Stattdessen müssen Instanzen solcher Klassen in „einfache alte JavaScript-Objekte“ (POJOs) mit ausschließlich primitiven Eigenschaften konvertiert werden, die möglicherweise in anderen POJOs oder Arrays von POJOs verschachtelt sind. In diesem Zusammenhang wird dieser Typ als „DbModel“ bezeichnet und wäre ein Objekt, das sich für die Beibehaltung im Firestore eignet. Der Einfachheit halber können Anwendungen FirestoreDataConverter implementieren und den Konverter bei Firestore-Objekten wie DocumentReference oder Query registrieren, um AppModel beim Speichern in Firestore automatisch in DbModel zu konvertieren und beim Abrufen aus Firestore DbModel in AppModel zu konvertieren.
Einstellungen Gibt benutzerdefinierte Konfigurationen für Ihre Cloud Firestore-Instanz an. Sie müssen diese festlegen, bevor Sie andere Methoden aufrufen.
Transaktionsoptionen Optionen zum Anpassen des Transaktionsverhaltens.

Geben Sie Aliase ein

Geben Sie Alias ​​ein Beschreibung
AddPrefixToKeys Gibt eine neue Karte zurück, bei der jedem Schlüssel der äußere Schlüssel vorangestellt und an einen Punkt angehängt wird.
AggregateFieldType Die Vereinigung aller AggregateField Typen, die von Firestore unterstützt werden.
AggregateSpecData Ein Typ, dessen Schlüssel einem AggregateSpec entnommen werden und dessen Werte das Ergebnis der Aggregation sind, die vom entsprechenden AggregateField aus der Eingabe AggregateSpec durchgeführt wird.
Aggregattyp Union-Typ, der den auszuführenden Aggregattyp darstellt.
ChildUpdateFields Hilfsprogramm zur Berechnung der verschachtelten Felder für einen bestimmten Typ T1. Dies ist erforderlich, um Union-Typen wie undefined | {...} zu verteilen undefined | {...} (passiert für optionale Requisiten) oder {a: A} | {b: B} . In diesem Anwendungsfall wird V verwendet, um die Union-Typen von T[K] auf Record zu verteilen, da T[K] als Ausdruck ausgewertet und nicht verteilt wird. Siehe https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types
FirestoreErrorCode Der Satz von Firestore-Statuscodes. Die Codes sind die gleichen wie die von gRPC hier bereitgestellten: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md Mögliche Werte: - 'abgebrochen': Der Vorgang wurde abgebrochen (normalerweise durch den Aufrufer). - „unbekannt“: Unbekannter Fehler oder ein Fehler aus einer anderen Fehlerdomäne. - 'invalid-argument': Der Client hat ein ungültiges Argument angegeben. Beachten Sie, dass sich dies von „failed-precondition“ unterscheidet. „ungültiges Argument“ weist auf Argumente hin, die unabhängig vom Zustand des Systems problematisch sind (z. B. ein ungültiger Feldname). - 'deadline-exceeded': Die Frist ist abgelaufen, bevor der Vorgang abgeschlossen werden konnte. Bei Vorgängen, die den Zustand des Systems ändern, kann dieser Fehler auch dann zurückgegeben werden, wenn der Vorgang erfolgreich abgeschlossen wurde. Beispielsweise könnte sich eine erfolgreiche Antwort eines Servers so lange verzögert haben, dass die Frist abgelaufen ist. - 'not-found': Ein angefordertes Dokument wurde nicht gefunden. - „already-exists“: Ein Dokument, das wir erstellen wollten, existiert bereits. – „Berechtigung verweigert“: Der Aufrufer hat keine Berechtigung, den angegebenen Vorgang auszuführen. - „Ressource erschöpft“: Eine Ressource ist erschöpft, möglicherweise ist ein Kontingent pro Benutzer erreicht, oder möglicherweise ist im gesamten Dateisystem nicht mehr genügend Speicherplatz vorhanden. - „failed-precondition“: Der Vorgang wurde abgelehnt, da sich das System nicht in einem für die Ausführung des Vorgangs erforderlichen Zustand befindet. – „abgebrochen“: Der Vorgang wurde abgebrochen, typischerweise aufgrund eines Parallelitätsproblems wie Transaktionsabbrüche usw. – „Außerhalb des gültigen Bereichs“: Der Vorgang wurde außerhalb des gültigen Bereichs versucht. - 'unimplemented': Der Vorgang ist nicht implementiert oder nicht unterstützt/aktiviert. - 'internal': Interne Fehler. Bedeutet, dass einige vom zugrunde liegenden System erwartete Invarianten beschädigt wurden. Wenn Sie einen dieser Fehler sehen, ist etwas sehr kaputt. - 'nicht verfügbar': Der Dienst ist derzeit nicht verfügbar. Dies ist höchstwahrscheinlich ein vorübergehender Zustand und kann durch einen erneuten Versuch mit einem Backoff behoben werden. - „Datenverlust“: Nicht behebbarer Datenverlust oder Datenbeschädigung. – „nicht authentifiziert“: Die Anfrage verfügt nicht über gültige Authentifizierungsdaten für den Vorgang.
VerschachtelteUpdateFields Suchen Sie für jedes Feld (z. B. „bar“) alle verschachtelten Schlüssel (z. B. { 'bar.baz': T1, 'bar.qux': T2 } ). Überschneiden Sie sie, um eine einzige Karte zu erstellen, die alle möglichen Schlüssel enthält, die alle als optional markiert sind
OrderByDirection Die Richtung einer orderBy()- Klausel wird als „desc“ oder „asc“ (absteigend oder aufsteigend) angegeben.
PartialWithFieldValue Ähnlich wie Partial<T> von Typescript, ermöglicht jedoch das Weglassen verschachtelter Felder und die Übergabe von FieldValues ​​als Eigenschaftswerte.
Primitive Primitive Typen.
QueryConstraintType Beschreibt die verschiedenen Abfrageeinschränkungen, die in diesem SDK verfügbar sind.
QueryFilterConstraint QueryFilterConstraint ist ein Hilfsvereinigungstyp, der QueryFieldFilterConstraint und QueryCompositeFilterConstraint darstellt .
QueryNonFilterConstraint QueryNonFilterConstraint ist ein Hilfs-Union-Typ, der QueryConstraints darstellt, die zum Einschränken oder Ordnen der Dokumentenmenge verwendet werden, aber nicht explizit nach einem Dokumentfeld filtern. QueryNonFilterConstraint s werden durch Aufrufen von orderBy() erstellt , anfangen bei() , startAfter() , endBefore() , endAt() , limit() oder limitToLast() und kann dann an query() übergeben werden, um eine neue Abfrageinstanz zu erstellen, die auch die QueryConstraint enthält.
SetOptions Ein Optionsobjekt, das das Verhalten von setDoc() konfiguriert , und Anrufe. Diese Aufrufe können so konfiguriert werden, dass granulare Zusammenführungen durchgeführt werden, anstatt die Zieldokumente vollständig zu überschreiben, indem ein SetOptions mit merge: true bereitgestellt wird.
UnionToIntersection Gegeben sei ein Vereinigungstyp U = T1 | T2 | ... , gibt einen Schnitttyp (T1 & T2 & ...) zurück. Verwendet distributive bedingte Typen und Rückschlüsse aus bedingten Typen. Dies funktioniert, weil mehrere Kandidaten für eine Variable desselben Typs an kontravarianten Positionen dazu führen, dass auf einen Schnitttyp geschlossen wird. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection -Typ
Daten aktualisieren Daten aktualisieren (zur Verwendung mit updateDoc() ), das aus Feldpfaden (z. B. „foo“ oder „foo.baz“) besteht, die Werten zugeordnet sind. Felder, die Punkte enthalten, verweisen auf verschachtelte Felder im Dokument. FieldValues ​​können als Eigenschaftswerte übergeben werden.
WhereFilterOp Filterbedingungen in einer where()- Klausel werden mithilfe der Zeichenfolgen „&lt;“, „&lt;=“, „==“, „!=“, „&gt;=“, „&gt;“, „array-contains“ angegeben. , „in“, „array-contains-any“ und „not-in“.
WithFieldValue Ermöglicht die Übergabe von FieldValues ​​als Eigenschaftswert unter Wahrung der Typsicherheit.

Funktion(App, ...)

getFirestore(App)

Gibt die vorhandene Standard- Firestore- Instanz zurück, die der bereitgestellten FirebaseApp zugeordnet ist . Wenn keine Instanz vorhanden ist, wird eine neue Instanz mit Standardeinstellungen initialisiert.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
App FirebaseApp Die FirebaseApp- Instanz, der die zurückgegebene Firestore- Instanz zugeordnet ist.

Kehrt zurück:

Feuerladen

Die Firestore- Instanz der bereitgestellten App.

getFirestore(app, Datenbank-ID)

Diese API wird als Vorschau für Entwickler bereitgestellt und kann sich basierend auf dem Feedback, das wir erhalten, ändern. Verwenden Sie diese API nicht in einer Produktionsumgebung.

Gibt die vorhandene Firestore- Instanz zurück, die der bereitgestellten FirebaseApp zugeordnet ist . Wenn keine Instanz vorhanden ist, wird eine neue Instanz mit Standardeinstellungen initialisiert.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
App FirebaseApp Die FirebaseApp- Instanz, der die zurückgegebene Firestore- Instanz zugeordnet ist.
Datenbank-ID Zeichenfolge Der Name der Datenbank.

Kehrt zurück:

Feuerladen

Die Firestore- Instanz der bereitgestellten App.

initializeFirestore(App, Einstellungen)

Initialisiert eine neue Instanz von Cloud Firestore mit den bereitgestellten Einstellungen. Kann nur vor allen anderen Funktionen aufgerufen werden, einschließlich getFirestore() . Wenn die benutzerdefinierten Einstellungen leer sind, entspricht diese Funktion dem Aufruf von getFirestore() .

Unterschrift:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore;

Parameter

Parameter Typ Beschreibung
App FirebaseApp Die FirebaseApp , mit der die Firestore Instanz verknüpft wird.
Einstellungen Einstellungen Ein Einstellungsobjekt zum Konfigurieren der Firestore Instanz.

Kehrt zurück:

Feuerladen

Eine neu initialisierte Firestore Instanz.

initializeFirestore(app, Einstellungen, Datenbank-ID)

Diese API wird als Vorschau für Entwickler bereitgestellt und kann sich basierend auf dem Feedback, das wir erhalten, ändern. Verwenden Sie diese API nicht in einer Produktionsumgebung.

Initialisiert eine neue Instanz von Cloud Firestore mit den bereitgestellten Einstellungen. Kann nur vor allen anderen Funktionen aufgerufen werden, einschließlich getFirestore() . Wenn die benutzerdefinierten Einstellungen leer sind, entspricht diese Funktion dem Aufruf von getFirestore() .

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
App FirebaseApp Die FirebaseApp , mit der die Firestore Instanz verknüpft wird.
Einstellungen Einstellungen Ein Einstellungsobjekt zum Konfigurieren der Firestore Instanz.
Datenbank-ID Zeichenfolge Der Name der Datenbank.

Kehrt zurück:

Feuerladen

Eine neu initialisierte Firestore Instanz.

Funktion(Firestore, ...)

Sammlung (Firestore, Pfad, Pfadsegmente)

Ruft eine CollectionReference Instanz ab, die auf die Sammlung am angegebenen absoluten Pfad verweist.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Feuerladen Feuerladen Ein Verweis auf die Root Firestore Instanz.
Weg Zeichenfolge Ein durch Schrägstriche getrennter Pfad zu einer Sammlung.
Pfadsegmente string[] Zusätzliche Pfadsegmente, die relativ zum ersten Argument angewendet werden sollen.

Kehrt zurück:

CollectionReference < Dokumentdaten , Dokumentdaten >

Die CollectionReference Instanz.

Ausnahmen

Wenn der endgültige Pfad eine gerade Anzahl von Segmenten hat und nicht auf eine Sammlung verweist.

CollectionGroup(Firestore, CollectionId)

Erstellt eine neue Query und gibt sie zurück, die alle Dokumente in der Datenbank enthält, die in einer Sammlung oder Untersammlung mit der angegebenen collectionId enthalten sind .

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Feuerladen Feuerladen Ein Verweis auf die Root Firestore Instanz.
Sammlungs-ID Zeichenfolge Identifiziert die Sammlungen, die abgefragt werden sollen. Jede Sammlung oder Unterkollektion mit dieser ID als letzte Segment seines Pfades wird enthalten. Kann keinen Schrägstrich enthalten.

Kehrt zurück:

Abfrage < DocumentData , DocumentData >

Die erstellte Query .

ConnectFirestoreemulator (Firestore, Host, Port, Optionen)

Ändern Sie diese Instanz, um mit dem Cloud Firestore -Emulator zu kommunizieren.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Firestore Firestore Die Firestore -Instanz, die konfiguriert werden soll, um eine Verbindung zum Emulator herzustellen.
Gastgeber Zeichenfolge Der Emulator Host (Ex: Localhost).
Hafen Nummer Der Emulatorport (Ex: 9000).
Optionen {MockUsertoken ?: emulatormockTokenoptions | String; }

Kehrt zurück:

Leere

DOC (Firestore, Pfad, PathSegmente)

Erhält eine DocumentReference , die sich auf das Dokument auf dem angegebenen Absolute -Pfad bezieht.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Firestore Firestore Ein Verweis auf die Firestore .
Weg Zeichenfolge Ein mit Slash getrennter Weg zu einem Dokument.
Pfadsegmente String [] Zusätzliche Pfadsegmente, die relativ zum ersten Argument angewendet werden.

Kehrt zurück:

Dokumentverweis < DocumentData , DocumentData >

Die DocumentReference .

Ausnahmen

Wenn der letzte Pfad eine ungerade Anzahl von Segmenten hat und nicht auf ein Dokument verweist.

Runtransaction (Firestore, UpdateFunction, Optionen)

Führt die angegebene updateFunction aus und versucht dann, die in der Transaktion angewendeten Änderungen zu begehen. Wenn sich ein Dokument, das in der updateFunction gelesen wurde . Wenn es nach 5 Versuchen nicht begeht, schlägt die Transaktion fehl.

Die maximale Anzahl der in einer einzelnen Transaktion zulässigen Schreibvorgänge beträgt 500.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Firestore Firestore Ein Verweis auf die Firestore -Datenbank, gegen die diese Transaktion ausführt.
Updatefunktion (Transaktion: Transaktion ) => Versprechen <t> Die Funktion, die im Transaktionskontext ausgeführt werden soll.
Optionen Transaktionsoptionen Ein Optionsobjekt zur Konfiguration der maximalen Anzahl von Bestimmungsversuchen.

Kehrt zurück:

Versprechen <t>

Wenn die Transaktion erfolgreich abgeschlossen wurde oder explizit abgebrochen wurde (die updateFunction hat ein gescheitertes Versprechen zurückgegeben), wurde das von der updateFunction zurückgegebene Versprechen zurückgegeben wird hierher zurückgegeben. Andernfalls wird ein abgelehnter Versprechen mit dem entsprechenden Fehlerfehler zurückgegeben, wenn die Transaktion fehlgeschlagen ist.

enden (firestore)

Beendet die bereitgestellte Firestore -Instanz.

Nach dem Aufrufen terminate() können nur die Funktionen clearIndexedDbPersistence() verwendet werden. Jede andere Funktion wirft einen FirestoreError . Die Kündigung storniert keine anhängigen Schreibvorgänge, und Versprechen, die auf eine Antwort vom Server warten, werden nicht behoben.

Um nach der Kündigung neu zu starten, erstellen Sie eine neue Instanz von Firestore mit GetFirestore () .

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Firestore Firestore Die Firestore -Instanz zu beenden.

Kehrt zurück:

Versprechen <void>

Ein Promise , das bei der erfolgreichen Beendigung der Instanz entschlossen ist.

WriteBatch (Firestore)

Erstellt eine Schreibstapel, die zum Ausführen mehrerer Schreibvorgänge als einzelne Atomoperation verwendet wird. Die maximale Anzahl von Schreibvorgängen, die in einem einzigen WriteBatch zulässig sind, beträgt 500.

Das Ergebnis dieser Schreibvorgänge wird nur in Dokumentlesungen widerspiegelt, die nach dem zurückgegebenen Versprechen auftreten. Wenn der Client offline ist, schlägt das Schreiben fehl. Wenn Sie lokale Modifikationen oder Puffer schreiben möchten, bis der Kunde online ist, verwenden Sie das vollständige Firestore SDK.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Firestore Firestore

Kehrt zurück:

WriteBatch

Ein WriteBatch , mit dem mehrere Schreibvorgänge atomisch ausgeführt werden können.

Funktion()

zählen()

Erstellen Sie ein AggregateField -Objekt, mit dem die Anzahl der Dokumente im Ergebnissatz einer Abfrage berechnet werden kann.

Unterschrift:

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

Kehrt zurück:

Aggregatefield <nummer>

Deletefield ()

Gibt einen Sentinel für die Verwendung mit updateCoc () oder setDoc () mit {merge: true} zurück, um ein Feld für das Löschen zu markieren.

Unterschrift:

export declare function deleteField(): FieldValue;

Kehrt zurück:

Feldwert

Dokument Identifikation()

Gibt einen speziellen Sentinel FieldPath zurück, um auf die ID eines Dokuments zu verweisen. Es kann in Abfragen verwendet werden, um nach der Dokument -ID zu sortieren oder zu filtern.

Unterschrift:

export declare function documentId(): FieldPath;

Kehrt zurück:

Feldweg

GetFirestore ()

Gibt die vorhandene Standard -Firestore -Instanz zurück, die mit dem Standard -FirebaseApp verbunden ist . Wenn keine Instanz besteht, initialisiert eine neue Instanz mit Standardeinstellungen.

Unterschrift:

export declare function getFirestore(): Firestore;

Kehrt zurück:

Firestore

Die Firestore -Instanz der bereitgestellten App.

serverTimestamp()

Gibt einen Sentinel zurück, der mit SetDOC () oder updateCoc () verwendet wird, um einen servergebundenen Zeitstempel in die schriftlichen Daten einzubeziehen.

Unterschrift:

export declare function serverTimestamp(): FieldValue;

Kehrt zurück:

Feldwert

Funktion (DataBaseId, ...)

GetFirestore (DataBaseId)

Diese API wird als Vorschau für Entwickler bereitgestellt und kann sich basierend auf dem von uns erhaltenen Feedback ändern. Verwenden Sie diese API nicht in einer Produktionsumgebung.

Gibt die vorhandene Firestore -Instanz zurück, die mit dem Standard -FirebaseApp verbunden ist . Wenn keine Instanz besteht, initialisiert eine neue Instanz mit Standardeinstellungen.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Datenbasis Zeichenfolge Der Name der Datenbank.

Kehrt zurück:

Firestore

Die Firestore -Instanz der bereitgestellten App.

Funktion (Elemente, ...)

ArrayRemove (Elemente)

Gibt einen speziellen Wert zurück, der mit setDoc () verwendet werden kann oder der dem Server die angegebene Elemente aus jedem Array -Wert entfernen kann, der bereits auf dem Server vorhanden ist. Alle Fälle jedes angegebenen Elements werden aus dem Array entfernt. Wenn das zu modifizierte Feld nicht bereits ein Array ist, wird es mit einem leeren Array überschrieben.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Elemente Unbekannt[] Die Elemente aus dem Array zu entfernen.

Kehrt zurück:

Feldwert

Der FieldValue -Sentinel zur Verwendung in einem Aufruf an setDoc() oder updateDoc()

Arrayunion (Elemente)

Gibt einen speziellen Wert zurück, der mit setDoc () oder updatedoc () verwendet werden kann, der dem Server mitteilt, die angegebenen Elemente mit jedem Array -Wert zu vereinen, der bereits auf dem Server vorhanden ist. Jedes angegebenes Element, das im Array noch nicht vorhanden ist, wird am Ende hinzugefügt. Wenn das zu modifizierte Feld nicht bereits ein Array ist, wird es mit einem Array mit genau den angegebenen Elementen überschrieben.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Elemente Unbekannt[] Die Elemente zur Vereinigung in das Array.

Kehrt zurück:

Feldwert

Der FieldValue -Sentinel zur Verwendung in einem Aufruf an setDoc() oder updateDoc() .

Funktion (Feld, ...)

Durchschnitt (Feld)

Erstellen Sie ein AggregateField -Objekt, mit dem der Durchschnitt eines bestimmten Feldes über einen Bereich von Dokumenten im Ergebnissatz einer Abfrage berechnet werden kann.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Feld String | Feldweg Gibt das Feld für den Durchschnitt über den Ergebnissatz an.

Kehrt zurück:

Aggregatefield <Nummer | null>

Summe (Feld)

Erstellen Sie ein AggregateField -Objekt, mit dem die Summe eines bestimmten Feldes über einen Bereich von Dokumenten im Ergebnissatz einer Abfrage berechnet werden kann.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Feld String | Feldweg Gibt das Feld an, um über das Ergebnissatz zu summieren.

Kehrt zurück:

Aggregatefield <nummer>

Funktion (FieldPath, ...)

OrderBy (FieldPath, DirectionStr)

Erstellt eine QueryOrderByConstraint , die das Abfrageergebnis nach dem angegebenen Feld sortiert, optional in absteigender Reihenfolge anstatt aufzusteigen.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Feldweg String | Feldweg Das Feld zu sortieren.
Direktionstr OrderByDirection Optionale Richtung, um nach ('ASC' oder 'Desc') zu sortieren. Wenn nicht angegeben, steigt die Bestellung auf.

Kehrt zurück:

QueryOrderByConstraint

Die erstellten QueryOrderByConstraint .

Wo (FieldPath, Opstr, Wert)

Erstellt eine QueryfieldFilterConstraint , die durchdauert, dass Dokumente das angegebene Feld enthalten müssen, und dass der Wert die bereitgestellte Beziehungsbeschränkung erfüllen sollte.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Feldweg String | Feldweg Der Weg zu vergleichen
opstr Wo filterop Die Operation String (z. B. "& lt;", "& lt; =", "==", "& lt;", "& lt; =", "! =").
Wert Unbekannt Der Wert für den Vergleich

Kehrt zurück:

QueryfieldFilterconstraint

Das erstellte QueryfieldFilterconstraint .

Funktion (Feldwerte, ...)

Endat (Feldwerte)

Erstellt eine QueryendatConstraint , die das Ergebnis setzt, um an den bereitgestellten Feldern in Bezug auf die Reihenfolge der Abfrage zu enden. Die Reihenfolge der Feldwerte muss mit der Reihenfolge der Reihenfolge übereinstimmen.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Feldwerte Unbekannt[] Die Feldwerte, um diese Abfrage in der Reihenfolge der Reihenfolge der Abfrage nach zu beenden.

Kehrt zurück:

Queryendatconstraint

Ein Queryendatconstraint, um an query()

Endbee (Feldwerte)

Erstellt eine QueryendatConstraint , die das Ergebnis auf endet, bevor die bereitgestellten Felder in Bezug auf die Reihenfolge der Abfrage beendet sind. Die Reihenfolge der Feldwerte muss mit der Reihenfolge der Reihenfolge übereinstimmen.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Feldwerte Unbekannt[] Die Feldwerte, um diese Abfrage zuvor in der Reihenfolge der Reihenfolge der Abfrage zu beenden.

Kehrt zurück:

Queryendatconstraint

Ein Queryendatconstraint, um an query()

Start nach (Feldwerte)

Erstellt eine Abfragebedarf , die das Ergebnis setzt, um nach den bereitgestellten Feldern in Bezug auf die Reihenfolge der Abfrage zu beginnen. Die Reihenfolge der Feldwerte muss mit der Reihenfolge der Reihenfolge übereinstimmen.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Feldwerte Unbekannt[] Die Feldwerte, um diese Abfrage nach der Reihenfolge der Reihenfolge der Abfrage nach zu starten.

Kehrt zurück:

Abfragebedarf

Ein Querystartatkonstruktion, um an query()

Startat (Feldwerte)

Erstellt eine Abfragebedarte , die das Ergebnis setzt, um in den bereitgestellten Feldern in Bezug auf die Reihenfolge der Abfrage zu beginnen. Die Reihenfolge der Feldwerte muss mit der Reihenfolge der Reihenfolge übereinstimmen.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Feldwerte Unbekannt[] Die Feldwerte, um diese Abfrage in der Reihenfolge der Reihenfolge der Abfrage nach zu starten.

Kehrt zurück:

Abfragebedarf

Ein Querystartatkonstruktion, um an query() .

Funktion (links, ...)

AggregateFieldEqual (links, rechts)

Vergleicht zwei 'AggregateField `Instanzen für Gleichheit.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
links Aggregatefield <NoNNAKE> Vergleichen Sie dieses Aggregatefield nach right .
Rechts Aggregatefield <NoNNAKE> Vergleichen Sie dieses Aggregatefield nach left .

Kehrt zurück:

boolean

Aggregatequerysnapshotequal (links, rechts)

Vergleicht zwei AggregateQuerySnapshot -Instanzen für Gleichheit.

Zwei AggregateQuerySnapshot -Instanzen werden als "gleich" als "gleich" angesehen, wenn sie zugrunde liegenden Abfragen haben, die gleich vergleichen, und gleiche Daten.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
links Aggregatequerysnapshot <Aggregatespectype, AppModeltype, DBModeltype> Der erste AggregateQuerySnapshot zum Vergleich.
Rechts Aggregatequerysnapshot <Aggregatespectype, AppModeltype, DBModeltype> Der zweite AggregateQuerySnapshot zu vergleichen.

Kehrt zurück:

boolean

true , wenn die Objekte "gleich" sind, wie oben definiert oder sonst false .

QueryEqual (links, rechts)

Gibt true zurück, wenn die angegebenen Abfragen auf dieselbe Sammlung deuten und dieselben Einschränkungen anwenden.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
links Abfrage <AppModeltype, dbmodeltype> Eine Query zum Vergleichen.
Rechts Abfrage <AppModeltype, dbmodeltype> Eine Query zum Vergleichen.

Kehrt zurück:

boolean

Richtig, wenn die Referenzen auf denselben Ort in derselben Firestore -Datenbank deuten.

reparal (links, rechts)

Gibt true zurück, wenn die angegebenen Referenzen gleich sind.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
links Dokumentverweis <AppModeltype, dbmodeltype> | Sammelreferenz <AppModeltype, dbmodeltype> Ein Verweis zum Vergleich.
Rechts Dokumentverweis <AppModeltype, dbmodeltype> | Sammelreferenz <AppModeltype, dbmodeltype> Ein Verweis zum Vergleich.

Kehrt zurück:

boolean

Richtig, wenn die Referenzen auf denselben Ort in derselben Firestore -Datenbank deuten.

Snapshotequal (links, rechts)

Gibt true zurück, wenn die bereitgestellten Schnappschüsse gleich sind.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
links Documentsnapshot <AppModeltype, dbmodeltype> | Querysnapshot <AppModeltype, dbmodeltype> Ein Schnappschuss zum Vergleichen.
Rechts Documentsnapshot <AppModeltype, dbmodeltype> | Querysnapshot <AppModeltype, dbmodeltype> Ein Schnappschuss zum Vergleichen.

Kehrt zurück:

boolean

wahr, wenn die Schnappschüsse gleich sind.

Funktion(Limit, ...)

Grenze (Grenze)

Erstellt eine Quylimitconstraint , die nur die ersten übereinstimmenden Dokumente zurückgibt.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Grenze Nummer Die maximale Anzahl der zurückgegebenen Elemente.

Kehrt zurück:

Quylimitconstraint

Die erstellten Quylimitconstraint .

limitToLast(limit)

Erstellt eine Quylimitconstraint , die nur die letzten übereinstimmenden Dokumente zurückgibt.

Sie müssen mindestens eine orderBy für limitToLast -Abfragen angeben, andernfalls wird eine Ausnahme während der Ausführung ausgelöst.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Grenze Nummer Die maximale Anzahl der zurückgegebenen Elemente.

Kehrt zurück:

Quylimitconstraint

Die erstellten Quylimitconstraint .

Funktion (loglevel, ...)

setLogLivel (loglevel)

Legt die Ausführlichkeit von Cloud -Firestore -Protokollen (Debugg, Irrtum oder Stille) fest.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Loglevel Loglevel Die Ausführlichkeit, die Sie für Aktivität und Fehlerprotokollierung festlegen. Kann eine der folgenden Werte sein:
  • debug für die ausführlichste Protokollierungsstufe, hauptsächlich zum Debuggen.
  • error bei der Protokollierung von Fehlern nur.
  • silent to turn off logging.

Kehrt zurück:

Leere

Funktion (n, ...)

Inkrement (n)

Gibt einen speziellen Wert zurück, der mit setDoc () oder updatedoc () verwendet werden kann, der dem Server den aktuellen Wert des Feldes durch den angegebenen Wert erhöht.

Wenn entweder der Operand oder der aktuelle Feldwert eine schwimmende Punktgenauigkeit verwendet, folgt die gesamte Arithmetik IEEE 754 Semantik. Wenn beide Werte Ganzzahlen sind, werden Werte außerhalb des sicheren Zahlenbereichs von JavaScript ( Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER ) unterliegen auch einem Präzisionsverlust. Darüber hinaus werden alle ganzzahligen Operationen zwischen -2^63 und 2^63-1 bedeckt.

Wenn der aktuelle Feldwert nicht von number ist , oder wenn das Feld noch nicht existiert, setzt die Transformation das Feld auf den angegebenen Wert.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
N Nummer Der Wert zum Inkrementieren nach.

Kehrt zurück:

Feldwert

Der FieldValue -Sentinel zur Verwendung in einem Aufruf an setDoc() oder updateDoc()

Funktion(Abfrage, ...)

getaggregate (Abfrage, AggregateSpec)

Berechnet die angegebenen Aggregationen über die Dokumente im Ergebnissatz der angegebenen Abfrage, ohne die Dokumente tatsächlich herunterzuladen.

Die Verwendung dieser Funktion zur Durchführung von Aggregationen ist effizient, da nur die endgültigen Aggregationswerte und nicht die Daten der Dokumente heruntergeladen werden. Diese Funktion kann die Aggregationen der Dokumente in Fällen ausführen, in denen das Ergebnis festgelegt ist, dass das Ergebnis vollständig heruntergeladen werden kann (Tausende von Dokumenten).

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Abfrage Abfrage <AppModeltype, dbmodeltype> Die Abfrage, deren Ergebnismenge aggregiert ist.
AggregateSpec Aggregatespectype Ein AggregateSpec -Objekt, das die Aggregate angibt, die über den Ergebnismengen ausgeführt werden sollen. Der AggregateSpec gibt Aliase für jedes Aggregat an, mit denen das Aggregatergebnis abgerufen werden kann.

Kehrt zurück:

Versprechen Sie < Aggregatequerysnapshot <Aggregatespectype, AppModeltype, DBModeltype >>

Beispiel

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 (Abfrage)

Berechnet die Anzahl der Dokumente im Ergebnissatz der angegebenen Abfrage, ohne die Dokumente tatsächlich herunterzuladen.

Die Verwendung dieser Funktion zum Zählen der Dokumente ist effizient, da nur die endgültige Anzahl und nicht die Daten der Dokumente heruntergeladen werden. Diese Funktion kann die Dokumente in Fällen zählen, in denen das Ergebnissatz unerschwinglich groß ist, um vollständig herunterzuladen (Tausende von Dokumenten).

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Abfrage Abfrage <AppModeltype, dbmodeltype> Die Abfrage, deren Ergebnisgröße berechnet wird.

Kehrt zurück:

Versprechen Sie < Aggregatequerysnapshot <{Graf: AggregateField <nummer>; }, Appmodeltype, dbmodeltype >>

Ein Versprechen, das mit der Anzahl gelöst wird; Die Anzahl kann von snapshot.data().count , wo snapshot der AggregateQuerySnapshot ist, auf den das zurückgegebene Versprechen auflöst.

getdocs (Abfrage)

Führt die Abfrage aus und gibt die Ergebnisse als Querysnapshot zurück .

Alle Abfragen werden direkt vom Server ausgeführt, auch wenn die Abfrage zuvor ausgeführt wurde. Jüngste Änderungen spiegeln sich nur in den abgerufenen Ergebnissen wider, wenn sie bereits vom Backend angewendet wurden. Wenn der Client offline ist, schlägt der Betrieb fehl. Verwenden Sie das vollständige Firestore SDK, um zuvor zwischengespeicherte Ergebnisse und lokale Modifikationen zu sehen.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Abfrage Abfrage <AppModeltype, dbmodeltype> Die Query zum Ausführen.

Kehrt zurück:

Versprechen < querysnapshot <AppModeltype, dbmodeltype >>

Ein Versprechen, das mit den Ergebnissen der Abfrage gelöst wird.

Abfrage (Abfrage, CompositeFilter, QueryConstraints)

Erstellt eine neue unveränderliche Instanz von Query , die um zusätzliche Abfrageeinschränkungen erweitert wird.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Abfrage Abfrage <AppModeltype, dbmodeltype> Die Abfrageinstanz als Basis für die neuen Einschränkungen.
CompositeFilter QueryCompositeFilterConstraint Die zu beantragende QueryCompositeFilterconstraint . Erstellen Sie QueryCompositeFilterConstraint mit und () oder oder () .
QueryConstraints QuerynonFilterconstraint [] Zusätzliche QuerynonFilterconstraint s bewerben (zB orderBy () , Grenze() ).

Kehrt zurück:

Abfrage <AppModeltype, dbmodeltype>

Ausnahmen

Wenn eines der bereitgestellten Abfragenbeschränkungen nicht mit den vorhandenen oder neuen Einschränkungen kombiniert werden kann.

query(query, queryConstraints)

Erstellt eine neue unveränderliche Instanz von Query , die um zusätzliche Abfrageeinschränkungen erweitert wird.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Abfrage Abfrage <AppModeltype, dbmodeltype> Die Abfrageinstanz als Basis für die neuen Einschränkungen.
QueryConstraints Abfrageeinschränkung [] Die Liste der QueryConstraint s zu bewerben.

Kehrt zurück:

Abfrage <AppModeltype, dbmodeltype>

Ausnahmen

Wenn eines der bereitgestellten Abfragenbeschränkungen nicht mit den vorhandenen oder neuen Einschränkungen kombiniert werden kann.

Funktion (QueryConstraints, ...)

und (QueryConstraints)

Erstellt eine neue QueryCompositeFilterConstraint , die eine Konjunktion der angegebenen Filterbeschränkungen ist. Ein Konjunktionsfilter enthält ein Dokument, wenn er alle angegebenen Filter erfüllt.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
QueryConstraints QueryFilterconstraint [] Optional. Die Liste der QueryFilterconstraint s eine Konjunktion für. Diese müssen mit Anrufen wo () erstellt werden , oder() , oder und() .

Kehrt zurück:

QueryCompositeFilterConstraint

Die neu erstellten QueryCompositeFilterConstraint .

oder (QueryConstraints)

Erstellt eine neue QueryCompositeFilterConstraint , die eine Disjunktion der angegebenen Filterbeschränkungen darstellt. Ein Disjunktionfilter enthält ein Dokument, wenn er einen der angegebenen Filter erfüllt.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
QueryConstraints QueryFilterconstraint [] Optional. Die Liste der QueryFilterconstraint s eine Disjunktion für. Diese müssen mit Anrufen wo () erstellt werden , oder() , oder und() .

Kehrt zurück:

QueryCompositeFilterConstraint

Die neu erstellten QueryCompositeFilterConstraint .

Funktion (Referenz, ...)

Adddoc (Referenz, Daten)

Fügen Sie mit den angegebenen Daten ein neues Dokument in die angegebene CollectionReference hinzu, wodurch automatisch eine Dokument -ID zugewiesen wird.

Das Ergebnis dieses Schreibens wird nur in Dokumentlesungen widerspiegelt, die nach dem zurückgegebenen Versprechen auftreten. Wenn der Client offline ist, schlägt das Schreiben fehl. Wenn Sie lokale Modifikationen oder Puffer schreiben möchten, bis der Kunde online ist, verwenden Sie das vollständige Firestore SDK.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Sammelreferenz <AppModeltype, dbmodeltype> Ein Verweis auf die Sammlung, um dieses Dokument hinzuzufügen.
Daten WithfieldValue <AppModeltype> Ein Objekt, das die Daten für das neue Dokument enthält.

Kehrt zurück:

Versprechen < documentreference <AppModeltype, dbmodeltype >>

Ein Promise , das mit einem DocumentReference auf das neu erstellte Dokument aufgelöst wurde, nachdem es in das Backend geschrieben wurde.

Ausnahmen

Fehler - Wenn die angegebene Eingabe kein gültiges Firestore -Dokument ist.

Sammlung (Referenz, Pfad, PathSegmente)

Erhält eine CollectionReference , die sich auf eine Unterkollektion der reference auf dem angegebenen relativen Pfad bezieht.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Sammelreferenz <AppModeltype, dbmodeltype> Ein Verweis auf eine Sammlung.
Weg Zeichenfolge Ein mit Slash getrennter Weg zu einer Sammlung.
Pfadsegmente String [] Zusätzliche Pfadsegmente, die sich relativ zum ersten Argument anwenden.

Kehrt zurück:

Sammelreferenz < DocumentData , DocumentData >

Die CollectionReference .

Ausnahmen

Wenn der endgültige Pfad eine gleichmäßige Anzahl von Segmenten hat und nicht auf eine Sammlung verweist.

Sammlung (Referenz, Pfad, PathSegmente)

Erhält eine CollectionReference , die sich auf eine Unterkollektion der reference auf dem angegebenen relativen Pfad bezieht.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Dokumentverweis <AppModeltype, dbmodeltype> Ein Verweis auf ein Firestore -Dokument.
Weg Zeichenfolge Ein mit Slash getrennter Weg zu einer Sammlung.
Pfadsegmente String [] Zusätzliche Pfadsegmente, die relativ zum ersten Argument angewendet werden.

Kehrt zurück:

Sammelreferenz < DocumentData , DocumentData >

Die CollectionReference .

Ausnahmen

Wenn der endgültige Pfad eine gleichmäßige Anzahl von Segmenten hat und nicht auf eine Sammlung verweist.

Deletedoc (Referenz)

Löscht das Dokument, auf das die angegebene DocumentReference genannt wird .

Die Löschung wird nur in Dokumentlesungen widerspiegelt, die nach dem zurückgegebenen Versprechen auftreten. Wenn der Client offline ist, schlägt das Löschen fehl. Wenn Sie lokale Modifikationen oder Puffer schreiben möchten, bis der Kunde online ist, verwenden Sie das vollständige Firestore SDK.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Dokumentverweis <AppModeltype, dbmodeltype> Ein Verweis auf das Löschen des Dokuments.

Kehrt zurück:

Versprechen <void>

Ein Promise , das gelöst wurde, sobald das Dokument erfolgreich aus dem Backend gelöscht wurde.

DOC (Referenz, Pfad, PathSegmente)

Erhält eine DocumentReference , die sich auf ein Dokument innerhalb der reference auf dem angegebenen relativen Pfad bezieht. Wenn kein DocumentReference angegeben ist .

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Sammelreferenz <AppModeltype, dbmodeltype> Ein Verweis auf eine Sammlung.
Weg Zeichenfolge Ein mit Slash getrennter Weg zu einem Dokument. Muss weggelassen werden, um automatische IDs zu verwenden.
Pfadsegmente String [] Zusätzliche Pfadsegmente, die relativ zum ersten Argument angewendet werden.

Kehrt zurück:

Dokumentverweis <AppModeltype, dbmodeltype>

Die DocumentReference .

Ausnahmen

Wenn der letzte Pfad eine ungerade Anzahl von Segmenten hat und nicht auf ein Dokument verweist.

DOC (Referenz, Pfad, PathSegmente)

Erhält eine DocumentReference , die sich auf ein Dokument innerhalb der reference auf dem angegebenen relativen Pfad bezieht.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Dokumentverweis <AppModeltype, dbmodeltype> Ein Verweis auf ein Firestore -Dokument.
Weg Zeichenfolge Ein mit Slash getrennter Weg zu einem Dokument.
Pfadsegmente String [] Zusätzliche Pfadsegmente, die relativ zum ersten Argument angewendet werden.

Kehrt zurück:

Dokumentverweis < DocumentData , DocumentData >

Die DocumentReference .

Ausnahmen

Wenn der letzte Pfad eine ungerade Anzahl von Segmenten hat und nicht auf ein Dokument verweist.

getdoc (Referenz)

Liest das Dokument, auf das die angegebene Dokumentreferenz genannt wird.

Alle Dokumente werden direkt aus dem Server abgerufen, auch wenn das Dokument zuvor gelesen oder geändert wurde. Jüngste Änderungen spiegeln sich nur in den abgerufenen DocumentSnapshot mit, wenn sie bereits vom Backend angewendet wurden. Wenn der Client offline ist, schlägt die Lektüre fehl. Wenn Sie Caching verwenden oder lokale Änderungen ansehen möchten, verwenden Sie bitte den vollständigen Firestore SDK.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Dokumentverweis <AppModeltype, dbmodeltype> Die Referenz des Dokuments zum Abrufen.

Kehrt zurück:

Versprechen < documentsnapshot <AppModeltype, dbmodeltype >>

Ein Versprechen, das mit einem DocumentSnapshot mit dem aktuellen Dokumentinhalt gelöst wurde.

setDoc (Referenz, Daten)

Schreibvorgänge in das von der angegebene DocumentReference genannte Dokument . Wenn das Dokument noch nicht vorhanden ist, wird es erstellt.

Das Ergebnis dieses Schreibens wird nur in Dokumentlesungen widerspiegelt, die nach dem zurückgegebenen Versprechen auftreten. Wenn der Client offline ist, schlägt das Schreiben fehl. Wenn Sie lokale Modifikationen oder Puffer schreiben möchten, bis der Kunde online ist, verwenden Sie das vollständige Firestore SDK.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Dokumentverweis <AppModeltype, dbmodeltype> Ein Hinweis auf das zu schreiben.
Daten WithfieldValue <AppModeltype> Eine Karte der Felder und Werte für das Dokument.

Kehrt zurück:

Versprechen <void>

Ein Promise , das gelöst wurde, sobald die Daten erfolgreich in das Backend geschrieben wurden.

Ausnahmen

Fehler - Wenn die angegebene Eingabe kein gültiges Firestore -Dokument ist.

SetDOC (Referenz, Daten, Optionen)

Schreibvorgänge in das von der angegebene DocumentReference genannte Dokument . Wenn das Dokument noch nicht vorhanden ist, wird es erstellt. Wenn Sie merge oder mergeFields bereitstellen Die bereitgestellten Daten können in ein vorhandenes Dokument zusammengefasst werden.

Das Ergebnis dieses Schreibens wird nur in Dokumentlesungen widerspiegelt, die nach dem zurückgegebenen Versprechen auftreten. Wenn der Client offline ist, schlägt das Schreiben fehl. Wenn Sie lokale Modifikationen oder Puffer schreiben möchten, bis der Kunde online ist, verwenden Sie das vollständige Firestore SDK.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Dokumentverweis <AppModeltype, dbmodeltype> Ein Hinweis auf das zu schreiben.
Daten PartiellWithfieldValue <AppModeltype> Eine Karte der Felder und Werte für das Dokument.
Optionen Setoptionen Ein Objekt zur Konfiguration des festgelegten Verhaltens.

Kehrt zurück:

Versprechen <void>

Ein Promise , das gelöst wurde, sobald die Daten erfolgreich in das Backend geschrieben wurden.

Ausnahmen

Fehler - Wenn die angegebene Eingabe kein gültiges Firestore -Dokument ist.

updatedoc (Referenz, Daten)

Aktualisiert Felder im Dokument, auf das die angegebenen DocumentReference genannt werden . Das Update schlägt fehl, wenn sie auf ein Dokument angewendet wird, das nicht vorhanden ist.

Das Ergebnis dieses Updates wird nur in Dokumentlesungen widerspiegelt, die nach dem zurückgegebenen Versprechen auftreten. Wenn der Client offline ist, schlägt das Update fehl. Wenn Sie lokale Modifikationen oder Puffer schreiben möchten, bis der Kunde online ist, verwenden Sie das vollständige Firestore SDK.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Dokumentverweis <AppModeltype, dbmodeltype> Ein Verweis auf das Aktualisieren des Dokuments.
Daten Daten aktualisieren <dbmodeltype> Ein Objekt, das die Felder und Werte enthält, mit denen das Dokument aktualisiert werden kann. Felder können Punkte enthalten, auf die verschachtelte Felder innerhalb des Dokuments verweisen.

Kehrt zurück:

Versprechen <void>

Ein Promise , das gelöst wurde, sobald die Daten erfolgreich in das Backend geschrieben wurden.

Ausnahmen

Fehler - Wenn die bereitgestellte Eingabe keine gültigen Firestore -Daten ist.

Aktualisiert (Referenz, Feld, Wert, MehrfieldsandValues))

Aktualisierungsfelder im Dokument, auf das die angegebene DocumentReference bezeichnet wird. Das Update wird fehlschlagen, wenn sie auf ein Dokument angewendet werden, das nicht vorhanden ist.

Verschachtelte Felder können aktualisiert werden, indem dot-getrennte Feldpfadzeichenfolgen oder die Bereitstellung FieldPath Objekten bereitgestellt werden.

Das Ergebnis dieses Updates wird nur in Dokumentlesungen widerspiegelt, die nach dem zurückgegebenen Versprechen auftreten. Wenn der Client offline ist, schlägt das Update fehl. Wenn Sie lokale Modifikationen oder Puffer schreiben möchten, bis der Kunde online ist, verwenden Sie das vollständige Firestore SDK.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Referenz Dokumentverweis <AppModeltype, dbmodeltype> Ein Verweis auf das Aktualisieren des Dokuments.
Feld String | Feldweg Das erste Feld zum Aktualisieren.
Wert Unbekannt Der erste Wert.
MEHRFIELDSANDVALUES Unbekannt[] Zusätzliche Schlüsselwertpaare.

Kehrt zurück:

Versprechen <void>

Ein Promise , das gelöst wurde, sobald die Daten erfolgreich in das Backend geschrieben wurden.

Ausnahmen

Fehler - Wenn die bereitgestellte Eingabe keine gültigen Firestore -Daten ist.

Funktion (Snapshot, ...)

Endat (Snapshot)

Erstellt eine Queryendatconstraint , die das Ergebnis setzt, um am angegebenen Dokument zu enden (inklusive). Die Endposition ist relativ zur Reihenfolge der Abfrage. Das Dokument muss alle in der Reihenfolge der Abfrage bereitgestellten Felder enthalten.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Schnappschuss Documentsnapshot <AppModeltype, dbmodeltype> Der Schnappschuss des Dokuments endet bei.

Kehrt zurück:

Queryendatconstraint

Ein Queryendatconstraint, um an query()

Endbee (Snapshot)

Erstellt eine QueryendatConstraint , die das Ergebnissatz auf enden vor dem angegebenen Dokument (exklusiv) ändert. Die Endposition ist relativ zur Reihenfolge der Abfrage. Das Dokument muss alle in der Reihenfolge der Abfrage bereitgestellten Felder enthalten.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Schnappschuss Documentsnapshot <AppModeltype, dbmodeltype> Der Schnappschuss des Dokuments endet zuvor.

Kehrt zurück:

Queryendatconstraint

Ein Queryendatconstraint, um an query()

Start nach (Snapshot)

Erstellt eine Abfragebedarte , die das Ergebnis -Set so ändert, dass sie nach dem angegebenen Dokument (exklusiv) beginnen. Die Ausgangsposition ist relativ zur Reihenfolge der Abfrage. Das Dokument muss alle in der Reihenfolge der Abfrage bereitgestellten Felder enthalten.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Schnappschuss Documentsnapshot <AppModeltype, dbmodeltype> Der Schnappschuss des Dokuments soll danach beginnen.

Kehrt zurück:

Abfragebedarf

Ein Querystartatkonstruktion, um an query()

Startat (Snapshot)

Erstellt eine Abfragebedakte , die das Ergebnis eingestellt wird, um im angegebenen Dokument (inklusive) zu beginnen. Die Ausgangsposition ist relativ zur Reihenfolge der Abfrage. Das Dokument muss alle in der orderBy dieser Abfrage bereitgestellten Felder enthalten.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Schnappschuss Documentsnapshot <AppModeltype, dbmodeltype> Der Schnappschuss des Dokuments.

Kehrt zurück:

Abfragebedarf

Ein Querystartatkonstruktion, um an query() .

Addprefixtokeys

Gibt eine neue Karte zurück, auf der jeder Schlüssel mit dem an einen Punkt angehängten äußeren Schlüssel vorangestellt ist.

Unterschrift:

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

Die Vereinigung aller AggregateField -Typen, die von Firestore unterstützt werden.

Unterschrift:

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

Aggregatespecdata

Ein Typ, dessen Schlüssel aus einem AggregateSpec entnommen wird und deren Werte das Ergebnis der Aggregation sind, die vom entsprechenden AggregateField aus der AggregateSpec durchgeführt wird .

Unterschrift:

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

Aggregatetyp

Gewerkschaftstyp, der den zu ausgeführten Gesamttyp darstellt.

Unterschrift:

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

Childupdatefields

Helfer zur Berechnung der verschachtelten Felder für einen bestimmten Typ T1. Dies ist erforderlich, um Gewerkschaftstypen wie undefined | {...} zu verteilen undefined | {...} (passiert für optionale Requisiten) oder {a: A} | {b: B} .

In diesem Anwendungsfall wird V verwendet, um die Gewerkschaftstypen von T[K] Record Da T[K] als Ausdruck bewertet und nicht verteilt wird.

Siehe https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-Conditional-types

Unterschrift:

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

FirestoreErrorCode

Die Reihe von Firestore -Statuscodes. Die Codes sind gleich an den von GRPC hier ausgesetzt

Mögliche Werte: - 'Storniert': Die Operation wurde storniert (normalerweise vom Anrufer). - 'Unbekannt': Unbekannter Fehler oder Fehler aus einer anderen Fehlerdomäne. - 'ungültiges Argument': Client hat ein ungültiges Argument angegeben. Beachten Sie, dass dies von "fehlgeschlagener Präkondition" unterscheidet. 'Invalid-Argument' gibt Argumente an, die unabhängig vom Zustand des Systems problematisch sind (z. B. ein ungültiger Feldname). - 'Deadline-Expreate': Frist, die vor Abschluss des Betriebs abgelaufen ist. Für Operationen, die den Status des Systems ändern, kann dieser Fehler auch dann zurückgegeben werden, wenn der Betrieb erfolgreich abgeschlossen ist. Zum Beispiel hätte eine erfolgreiche Antwort eines Servers lange genug verzögert werden können, damit die Frist abgelaufen ist. - 'nicht fundiert': Einige angeforderte Dokument wurden nicht gefunden. - 'Bothone-Exists': Ein Dokument, das wir bereits erstellen versuchten, gibt es bereits. . . - 'fehlgeschlagene Vorkondition': Der Betrieb wurde abgelehnt, da sich das System nicht in einem Zustand befindet, der für die Ausführung des Betriebs erforderlich ist. - 'abgebrochen': Die Operation wurde abgebrochen, typischerweise aufgrund eines Problems mit Parallelität wie Transaktionsabbruch usw.- 'Out-of-of-A-of-Range': Die Operation wurde versucht, die gültige Reichweite zu überschreiten. - 'Unimplemented': Der Betrieb wird nicht implementiert oder nicht unterstützt/aktiviert. - 'Internal': interne Fehler. Bedeutet, dass einige Invarianten, die nach dem zugrunde liegenden System erwartet werden, gebrochen wurde. Wenn Sie einen dieser Fehler sehen, ist etwas sehr kaputt. - 'nicht verfügbar': Der Dienst ist derzeit nicht verfügbar. Dies ist höchstwahrscheinlich eine vorübergehende Bedingung und kann durch Wiederieren mit einem Backoff korrigiert werden. - 'Data-Loss': Nicht wiedervertragbarer Datenverlust oder Korruption. - 'nicht authentifiziert': Die Anfrage hat keine gültigen Authentifizierungsanmeldeinformationen für den Vorgang.

Unterschrift:

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

NestedUpdateFields

Finden Sie für jedes Feld (zB 'Bar') alle verschachtelten Schlüssel (z. B. { 'bar.baz': t1, 'bar.qux': t2 } ). Schneiden Sie sie zusammen, um eine einzelne Karte mit allen möglichen Schlüssel zu erstellen, die alle als optional gekennzeichnet sind

Unterschrift:

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

OrderByDirection

Die Richtung einer OrderBy () -Klausel wird als "Desc" oder "ASC" (absteigend oder aufsteigend) angegeben.

Unterschrift:

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

PartiellWithfieldValue

Ähnlich wie bei Partial<T> , aber ermöglicht, dass verschachtelte Felder weggelassen werden und Feldvalues ​​als Eigenschaftswerte übergeben werden.

Unterschrift:

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

Primitive

Primitive Typen.

Unterschrift:

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

QueryConstraintType

Beschreibt die verschiedenen Abfrageeinschränkungen, die in diesem SDK verfügbar sind.

Unterschrift:

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

QueryFilterconstraint

QueryFilterConstraint ist ein Helfer -Unionstyp, der QueryfieldFilterConstraint und QueryCompositeFilterConstraint darstellt .

Unterschrift:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

QuerynonFilterconstraint

QueryNonFilterConstraint ist ein Helfer -Gewerkschaftstyp, der Abfragen darstellt, die zur Begrenzung oder Bestellung der Dokumente verwendet werden, die jedoch nicht explizit in einem Dokumentfeld filtern. QueryNonFilterConstraint s werden durch Aufrufen von OrderBy () erstellt , anfangen bei() , startAfter() , endBefore() , Endat () , limit () oder limittolast () und kann dann an query () übergeben werden, um eine neue Abfrageinstanz zu erstellen, die auch die QueryConstraint enthält .

Unterschrift:

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

Setoptionen

Ein Optionsobjekt, das das Verhalten von setDoc () konfiguriert und Anrufe. Diese Anrufe können so konfiguriert werden, dass sie granulare Zusammenschlüsse durchführen, anstatt die Zieldokumente in ihrer Gesamtheit zu überschreiben, indem SetOptions mit merge: true bereitgestellt werden .

Unterschrift:

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

UnionTointersection

Bei einem Gewerkschaftstyp U = T1 | T2 | ... Gibt einen überarbeiteten Typ zurück (T1 & T2 & ...) .

Verwendet verteilte bedingte Typen und Inferenz von bedingten Typen. Dies funktioniert, da mehrere Kandidaten für die gleiche Typvariable in kontravarianten Positionen dazu führen, dass ein Schnitttyp abgeleitet wird. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-t-intinction -Typ

Unterschrift:

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

Daten aktualisieren

Daten aktualisieren (zur Verwendung mit updateCoc () ) Das besteht aus Feldpfaden (z. B. 'foo' oder 'foo.baz'), die den Werten zugeordnet sind. Felder, die Punkte enthalten, verweisen auf verschachtelte Felder im Dokument. Feldwerte können als Eigenschaftswerte übergeben werden.

Unterschrift:

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

Wo filterop

Filterbedingungen in einer WO () -Klausel werden unter Verwendung der Zeichenfolgen '& lt;', '& lt; =', '==', '! =', '& Gt; =', '& gt;', 'Array-Contains' angegeben. , 'in', 'Array-Contains-Any' und 'Not-in'.

Unterschrift:

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

WithfieldValue

Ermöglicht den Feldvalues ​​als Eigenschaftswert, gleichzeitig die Art der Art zu erhalten.

Unterschrift:

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