@firebase/firestore

Funkcje

Funkcjonować Opis
funkcja (aplikacja, ...)
pobierzFirestore(aplikacja) Zwraca istniejącą domyślną instancję Firestore powiązaną z dostarczoną aplikacją FirebaseApp . Jeśli nie istnieje żadna instancja, inicjuje nową instancję z ustawieniami domyślnymi.
getFirestore(aplikacja, identyfikator bazy danych) (BETA) Zwraca istniejącą nazwaną instancję Firestore powiązaną z dostarczoną aplikacją FirebaseApp . Jeśli nie istnieje żadna instancja, inicjuje nową instancję z ustawieniami domyślnymi.
zainicjujFirestore(aplikacja, ustawienia, identyfikator bazy danych) Inicjuje nową instancję Firestore z podanymi ustawieniami. Można wywołać tylko przed jakąkolwiek inną funkcją, w tym getFirestore() . Jeśli ustawienia niestandardowe są puste, ta funkcja jest równoważna wywołaniu metody getFirestore() .
funkcja (firestore, ...)
clearIndexedDbPersistence (firestore) Czyści pamięć trwałą. Obejmuje to oczekujące zapisy i dokumenty w pamięci podręcznej. Należy wywołać, gdy instancja Firestore nie jest uruchomiona (po zakończeniu aplikacji lub po pierwszym zainicjowaniu aplikacji). Podczas uruchamiania tę funkcję należy wywołać przed innymi funkcjami (innymi niż inicjalizacjaFirestore() lub getFirestore() )). Jeśli instancja Firestore nadal działa, obietnica zostanie odrzucona z kodem błędu failed-precondition . Uwaga: clearIndexedDbPersistence() ma przede wszystkim pomóc w pisaniu wiarygodnych testów korzystających z Cloud Firestore. Wykorzystuje skuteczny mechanizm usuwania istniejących danych, ale nie podejmuje prób bezpiecznego nadpisywania ani w inny sposób uniemożliwiania odzyskania danych w pamięci podręcznej. W przypadku aplikacji wrażliwych na ujawnianie danych z pamięci podręcznej pomiędzy sesjami użytkownika zdecydowanie zalecamy, aby w ogóle nie włączać trwałości.
kolekcja (firestore, ścieżka, pathSegments) Pobiera wystąpienie CollectionReference , które odwołuje się do kolekcji w określonej ścieżce bezwzględnej.
kolekcjaGrupa(Firestore,Identyfikator kolekcji) Tworzy i zwraca nową instancję Query , która zawiera wszystkie dokumenty w bazie danych zawarte w kolekcji lub podkolekcji o podanym collectionId .
connectFirestoreEmulator(firestore, host, port, opcje) Zmodyfikuj tę instancję, aby komunikowała się z emulatorem Cloud Firestore. Uwaga: Należy to wywołać, zanim ta instancja zostanie użyta do wykonania jakichkolwiek operacji.
wyłącz sieć (firestore) Wyłącza użycie sieci dla tej instancji. Można go ponownie włączyć za pomocą funkcji EnableNetwork() . Gdy sieć jest wyłączona, wszelkie odbiorniki migawek, wywołania getDoc() i getDocs() zwrócą wyniki z pamięci podręcznej, a wszelkie operacje zapisu zostaną umieszczone w kolejce do czasu przywrócenia sieci.
dokument(firestore, ścieżka, segmenty ścieżki) Pobiera wystąpienie DocumentReference , które odwołuje się do dokumentu w określonej ścieżce bezwzględnej.
włączIndexedDbPersistence (firestore, ustawienia trwałości) Jeśli to możliwe, spróbuj włączyć pamięć trwałą. W przypadku niepowodzenia enableIndexedDbPersistence() odrzuci obietnicę lub zgłosi wyjątek. Może to spowodować niepowodzenie z kilku powodów, które można rozpoznać po code znajdującym się na błędzie. * warunek wstępny: aplikacja jest już otwarta w innej karcie przeglądarki. * niezaimplementowane: Przeglądarka jest niekompatybilna z implementacją trwałości offline. Pamiętaj, że nawet po awarii instancja Firestore pozostanie użyteczna, jednak trwałość offline zostanie wyłączona. Uwaga: enableIndexedDbPersistence() musi zostać wywołana przed jakąkolwiek inną funkcją (inną niż inicjalizacjaFirestore() , getFirestore() lub clearIndexedDbPersistence() . Trwałości nie można używać w środowisku Node.js.
włączMultiTabIndexedDbPersistence (firestore) Próbuje włączyć trwałe przechowywanie wielu kart, jeśli to możliwe. Jeśli ta opcja jest włączona na wszystkich kartach, wszystkie operacje współdzielą dostęp do lokalnej trwałości, w tym wspólne wykonywanie zapytań i aktualizacje dokumentów lokalnych z kompensacją opóźnień we wszystkich połączonych instancjach. W przypadku niepowodzenia enableMultiTabIndexedDbPersistence() odrzuci obietnicę lub zgłosi wyjątek. Może to spowodować niepowodzenie z kilku powodów, które można rozpoznać po code znajdującym się na błędzie. * warunek wstępny: aplikacja jest już otwarta w innej karcie przeglądarki, a obsługa wielu kart nie jest włączona. * niezaimplementowane: Przeglądarka jest niekompatybilna z implementacją trwałości offline. Pamiętaj, że nawet po awarii instancja Firestore pozostanie użyteczna, jednak trwałość offline zostanie wyłączona.
włącz sieć (firestore) Ponownie włącza korzystanie z sieci dla tej instancji Firestore po wcześniejszym wywołaniu funkcji DisableNetwork() .
getPersistentCacheIndexManager (firestore) Zwraca Menedżera indeksu PersistentCache używanego przez dany obiekt Firestore . Wystąpienie PersistentCacheIndexManager lub null , jeśli lokalny magazyn trwały nie jest używany.
LoadBundle(firestore, packageData) Ładuje pakiet Firestore do lokalnej pamięci podręcznej.
o nazwieQuery(firestore, nazwa) Odczytuje zapytanie Firestore z lokalnej pamięci podręcznej, identyfikowanej przez podaną nazwę. Nazwane zapytania są pakowane w pakiety po stronie serwera (wraz z dokumentami wynikowymi) i ładowane do lokalnej pamięci podręcznej za pomocą loadBundle . Będąc w lokalnej pamięci podręcznej, użyj tej metody, aby wyodrębnić zapytanie według nazwy.
onSnapshotsInSync(firestore, obserwator) Dołącza odbiornik do zdarzenia synchronizacji migawek. Zdarzenie migawki w synchronizacji wskazuje, że wszystkie odbiorniki, na które wpływa dana zmiana, zostały uruchomione, nawet jeśli pojedyncza zmiana wygenerowana przez serwer dotyczy wielu odbiorników. UWAGA: Zdarzenie synchronizacji migawek wskazuje jedynie, że odbiorniki są ze sobą zsynchronizowane, ale nie ma związku z tym, czy te migawki są zsynchronizowane z serwerem. Użyj SnapshotMetadata w poszczególnych odbiornikach, aby określić, czy migawka pochodzi z pamięci podręcznej czy z serwera.
onSnapshotsInSync(firestore, onSync) Dołącza odbiornik do zdarzenia synchronizacji migawek. Zdarzenie migawki w synchronizacji wskazuje, że wszystkie odbiorniki, na które wpływa dana zmiana, zostały uruchomione, nawet jeśli pojedyncza zmiana wygenerowana przez serwer dotyczy wielu odbiorników. UWAGA: Zdarzenie synchronizacji migawek wskazuje jedynie, że odbiorniki są ze sobą zsynchronizowane, ale nie ma związku z tym, czy te migawki są zsynchronizowane z serwerem. Użyj SnapshotMetadata w poszczególnych odbiornikach, aby określić, czy migawka pochodzi z pamięci podręcznej czy z serwera.
runTransaction(firestore, updateFunction, opcje) Wykonuje podaną updateFunction , a następnie podejmuje próbę zatwierdzenia zmian zastosowanych w transakcji. Jeśli jakikolwiek dokument odczytany w ramach transakcji uległ zmianie, Cloud Firestore ponawia próbę updateFunction . Jeśli po 5 próbach nie uda się zatwierdzić, transakcja zakończy się niepowodzeniem. Maksymalna liczba zapisów dozwolona w pojedynczej transakcji wynosi 500.
setIndexConfiguration(firestore, konfiguracja) (BETA) Konfiguruje indeksowanie do lokalnego wykonywania zapytań. Każda poprzednia konfiguracja indeksu zostaje zastąpiona. Promise zostaje rozwiązana po utrwaleniu konfiguracji indeksu. Same wpisy indeksu są tworzone asynchronicznie. Możesz nadal używać zapytań wymagających indeksowania, nawet jeśli indeksy nie są jeszcze dostępne. Wykonywanie zapytania rozpocznie się automatycznie przy użyciu indeksu po zapisaniu wpisów indeksu. Indeksy są obsługiwane tylko w przypadku trwałości IndexedDb. Jeśli IndexedDb nie jest włączona, jakakolwiek konfiguracja indeksu jest ignorowana.
setIndexConfiguration (firestore, json) (BETA) Konfiguruje indeksowanie do lokalnego wykonywania zapytań. Każda poprzednia konfiguracja indeksu zostaje zastąpiona. Promise zostaje rozwiązana po utrwaleniu konfiguracji indeksu. Same wpisy indeksu są tworzone asynchronicznie. Możesz nadal używać zapytań wymagających indeksowania, nawet jeśli indeksy nie są jeszcze dostępne. Wykonywanie zapytania rozpocznie się automatycznie przy użyciu indeksu po zapisaniu wpisów indeksu. Indeksy są obsługiwane tylko w przypadku trwałości IndexedDb. Wywołaj funkcję enableIndexedDbPersistence() lub enableMultiTabIndexedDbPersistence() przed ustawieniem konfiguracji indeksu. Jeśli IndexedDb nie jest włączona, jakakolwiek konfiguracja indeksu jest ignorowana. Metoda akceptuje format JSON wyeksportowany przez interfejs CLI Firebase ( firebase firestore:indexes ). Jeśli format JSON jest nieprawidłowy, ta metoda zgłasza błąd.
zakończyć (firestore) Kończy podaną instancję Firestore . Po wywołaniu terminate() można użyć jedynie funkcji clearIndexedDbPersistence() . Każda inna funkcja zgłosi FirestoreError . Aby ponownie uruchomić po zakończeniu, utwórz nową instancję FirebaseFirestore za pomocą getFirestore() . Zakończenie nie anuluje żadnych oczekujących zapisów, a wszelkie obietnice oczekujące na odpowiedź z serwera nie zostaną rozpatrzone. Jeśli masz włączoną opcję trwałości, przy następnym uruchomieniu tej instancji wznowi ona wysyłanie tych zapisów na serwer. Uwaga: W normalnych okolicznościach wywołanie terminate() nie jest wymagane. Ta funkcja jest użyteczna tylko wtedy, gdy chcesz wymusić na tej instancji zwolnienie wszystkich jej zasobów lub w połączeniu z clearIndexedDbPersistence() w celu zapewnienia zniszczenia całego stanu lokalnego pomiędzy uruchomieniami testowymi.
waitForPendingWrites (firestore) Czeka, aż wszystkie aktualnie oczekujące zapisy dla aktywnego użytkownika zostaną potwierdzone przez backend. Zwrócona obietnica zostanie rozpatrzona natychmiast, jeśli nie ma żadnych zaległych zapisów. W przeciwnym razie obietnica czeka na wszystkie wcześniej wykonane zapisy (w tym te zapisane w poprzedniej sesji aplikacji), ale nie czeka na zapisy, które zostały dodane po wywołaniu funkcji. Jeśli chcesz poczekać na dodatkowe zapisy, wywołaj ponownie funkcję waitForPendingWrites() . Wszelkie zaległe obietnice waitForPendingWrites() są odrzucane podczas zmian użytkownika.
napisz wsad (firestore) Tworzy partię zapisu służącą do wykonywania wielu zapisów w ramach pojedynczej operacji niepodzielnej. Maksymalna liczba zapisów dozwolona w pojedynczym programie WriteBatch wynosi 500. W przeciwieństwie do transakcji partie zapisu są utrwalane w trybie offline i dlatego są preferowane, gdy nie trzeba uzależniać zapisów od odczytanych danych.
funkcjonować()
liczyć() Utwórz obiekt AggregateField, którego można użyć do obliczenia liczby dokumentów w zestawie wyników zapytania.
usuńPole() Zwraca wskaźnik do użycia z updateDoc() lub setDoc() z funkcją {merge: true} w celu zaznaczenia pola do usunięcia.
identyfikator dokumentu() Zwraca specjalny wskaźnik FieldPath odnoszący się do identyfikatora dokumentu. Można go używać w zapytaniach do sortowania lub filtrowania według identyfikatora dokumentu.
pobierzFirestore() Zwraca istniejącą domyślną instancję Firestore powiązaną z domyślną aplikacją FirebaseApp . Jeśli nie istnieje żadna instancja, inicjuje nową instancję z ustawieniami domyślnymi.
pamięćEagerGarbageCollector() Tworzy instancję MemoryEagerGarbageCollector . Jest to także domyślny moduł zbierający elementy bezużyteczne, chyba że wyraźnie określono inaczej.
trwałyMultipleTabManager() Tworzy instancję PersistentMultipleTabManager .
serwerTimestamp() Zwraca wskaźnik używany z setDoc() lub updateDoc() w celu dołączenia do zapisywanych danych znacznika czasu wygenerowanego przez serwer.
funkcja(identyfikator bazy danych, ...)
getFirestore (identyfikator bazy danych) (BETA) Zwraca istniejącą nazwaną instancję Firestore powiązaną z domyślną aplikacją FirebaseApp . Jeśli nie istnieje żadna instancja, inicjuje nową instancję z ustawieniami domyślnymi.
funkcja(elementy, ...)
tablicaUsuń(elementy) Zwraca specjalną wartość, której można użyć z setDoc() lub która informuje serwer, aby usunął podane elementy z dowolnej wartości tablicy, która już istnieje na serwerze. Wszystkie wystąpienia każdego określonego elementu zostaną usunięte z tablicy. Jeśli modyfikowane pole nie jest jeszcze tablicą, zostanie ono nadpisane pustą tablicą.
arrayUnion(elementy) Zwraca specjalną wartość, której można użyć z setDoc() lub updateDoc() , która nakazuje serwerowi połączyć podane elementy z dowolną wartością tablicy, która już istnieje na serwerze. Każdy określony element, który jeszcze nie istnieje w tablicy, zostanie dodany na końcu. Jeśli modyfikowane pole nie jest jeszcze tablicą, zostanie nadpisane tablicą zawierającą dokładnie określone elementy.
funkcja (pole, ...)
średnia (pole) Utwórz obiekt AggregateField, którego można użyć do obliczenia średniej określonego pola w zakresie dokumentów w zestawie wyników zapytania.
suma(pole) Utwórz obiekt AggregateField, którego można użyć do obliczenia sumy określonego pola w zakresie dokumentów w zestawie wyników zapytania.
funkcja(poleŚcieżka, ...)
OrderBy(poleŚcieżka, kierunekStr) Tworzy QueryOrderByConstraint , który sortuje wynik zapytania według określonego pola, opcjonalnie w kolejności malejącej zamiast rosnącej. Uwaga: Dokumenty niezawierające wskazanego pola nie zostaną uwzględnione w wyniku zapytania.
gdzie(fieldPath, opStr, wartość) Tworzy QueryFieldFilterConstraint , który wymusza, że ​​dokumenty muszą zawierać określone pole i że wartość powinna spełniać podane ograniczenie relacji.
funkcja(Wartości pola, ...)
endAt(Wartości pola) Tworzy QueryEndAtConstraint , który modyfikuje zestaw wyników tak, aby kończył się na podanych polach względem kolejności zapytania. Kolejność wartości pól musi być zgodna z kolejnością klauzul zapytania.
endBefore(Wartości pola) Tworzy QueryEndAtConstraint , który modyfikuje zestaw wyników tak, aby kończył się przed podanymi polami względem kolejności zapytania. Kolejność wartości pól musi być zgodna z kolejnością klauzul zapytania.
startAfter(Wartości pola) Tworzy QueryStartAtConstraint , który modyfikuje zestaw wyników tak, aby rozpoczynał się po podanych polach względem kolejności zapytania. Kolejność wartości pól musi być zgodna z kolejnością klauzul zapytania.
startAt(Wartości pola) Tworzy QueryStartAtConstraint , który modyfikuje zestaw wyników tak, aby rozpoczynał się od podanych pól względem kolejności zapytania. Kolejność wartości pól musi być zgodna z kolejnością klauzul zapytania.
funkcja(indexManager, ...)
usuńAllPersistentCacheIndexes(indexManager) Usuwa wszystkie trwałe indeksy pamięci podręcznej. Należy pamiętać, że ta funkcja usuwa również indeksy wygenerowane przez setIndexConfiguration() , która jest przestarzała.
wyłączPersistentCacheIndexAutoCreation(indexManager) Zatrzymuje automatyczne tworzenie trwałych indeksów pamięci podręcznej na potrzeby lokalnego wykonywania zapytań. Indeksy utworzone przez wywołanie funkcji enablePersistentCacheIndexAutoCreation() nadal obowiązują.
włączPersistentCacheIndexAutoCreation(indexManager) Umożliwia pakietowi SDK automatyczne tworzenie trwałych indeksów pamięci podręcznej na potrzeby lokalnego wykonywania zapytań, jeśli zestaw SDK uzna, że ​​indeksy pamięci podręcznej mogą pomóc w poprawie wydajności. Ta funkcja jest domyślnie wyłączona.
funkcja (po lewej, ...)
zagregowaneFieldEqual(lewy, prawy) Porównuje dwa „AggregateField ` przypadki równości.
agregatQuerySnapshotEqual(lewy, prawy) Porównuje dwie instancje AggregateQuerySnapshot pod kątem równości. Dwie instancje AggregateQuerySnapshot są uważane za „równe”, jeśli mają podstawowe zapytania, które porównują równe i te same dane.
zapytanieEqual(lewy, prawy) Zwraca wartość true, jeśli podane zapytania wskazują na tę samą kolekcję i stosują te same ograniczenia.
refEqual(lewy, prawy) Zwraca wartość true, jeśli podane odniesienia są równe.
migawkaRówne(lewy, prawy) Zwraca wartość true, jeśli dostarczone migawki są równe.
funkcja(limit, ...)
limit (limit) Tworzy QueryLimitConstraint , który zwraca tylko pierwsze pasujące dokumenty.
limitToLast(limit) Tworzy QueryLimitConstraint , który zwraca tylko ostatnie pasujące dokumenty. Dla zapytań limitToLast należy określić co najmniej jedną klauzulę orderBy , w przeciwnym razie podczas wykonywania zostanie zgłoszony wyjątek.
funkcja(logLevel, ...)
setLogLevel(logLevel) Ustawia szczegółowość dzienników Cloud Firestore (debugowanie, błędy lub ciche).
funkcja (n, ...)
przyrost (n) Zwraca specjalną wartość, której można użyć z setDoc() lub updateDoc() , która informuje serwer, aby zwiększył bieżącą wartość pola o podaną wartość. Jeśli albo operand, albo bieżąca wartość pola używa precyzji zmiennoprzecinkowej, cała arytmetyka jest zgodna z semantyką IEEE 754. Jeśli obie wartości są liczbami całkowitymi, wartości spoza bezpiecznego zakresu liczb JavaScript ( Number.MIN_SAFE_INTEGER do Number.MAX_SAFE_INTEGER ) również podlegają utracie precyzji. Co więcej, po przetworzeniu przez backend Firestore, wszystkie operacje na liczbach całkowitych są ograniczone do zakresu od -2^63 do 2^63-1. Jeśli bieżąca wartość pola nie jest typu number lub jeśli pole jeszcze nie istnieje, transformacja ustawia pole na podaną wartość.
funkcja(zapytanie, ...)
getAggregateFromServer(zapytanie, zagregowanaSpec) Oblicza określone agregacje na podstawie dokumentów w zestawie wyników danego zapytania bez faktycznego pobierania dokumentów. Używanie tej funkcji do wykonywania agregacji jest efektywne, ponieważ pobierane są tylko końcowe wartości agregacji, a nie dane dokumentów. Ta funkcja może wykonywać agregację dokumentów w przypadkach, gdy zestaw wyników jest zbyt duży, aby można go było pobrać w całości (tysiące dokumentów). Wynik otrzymany z serwera prezentowany jest w niezmienionej formie, bez uwzględnienia stanu lokalnego. Oznacza to, że dokumenty znajdujące się w lokalnej pamięci podręcznej nie są brane pod uwagę, ani lokalne modyfikacje, które nie zostały jeszcze zsynchronizowane z serwerem. Wcześniej pobrane wyniki, jeśli takie istnieją, nie są używane. Każde wywołanie tej funkcji koniecznie wiąże się z podróżą w obie strony do serwera.
getCountFromServer (zapytanie) Oblicza liczbę dokumentów w zestawie wyników danego zapytania bez faktycznego pobierania dokumentów. Korzystanie z tej funkcji do liczenia dokumentów jest efektywne, ponieważ pobierane jest tylko ostateczne przeliczenie, a nie dane dokumentów. Ta funkcja może zliczać dokumenty w przypadkach, gdy zestaw wyników jest zbyt duży, aby można go było pobrać w całości (tysiące dokumentów). Wynik otrzymany z serwera prezentowany jest w niezmienionej formie, bez uwzględnienia stanu lokalnego. Oznacza to, że dokumenty znajdujące się w lokalnej pamięci podręcznej nie są brane pod uwagę, ani lokalne modyfikacje, które nie zostały jeszcze zsynchronizowane z serwerem. Wcześniej pobrane wyniki, jeśli takie istnieją, nie są używane. Każde wywołanie tej funkcji koniecznie wiąże się z podróżą w obie strony do serwera.
getDocs(zapytanie) Wykonuje zapytanie i zwraca wyniki jako QuerySnapshot . Uwaga: getDocs() próbuje, jeśli to możliwe, zapewnić aktualne dane, czekając na dane z serwera, ale może zwrócić dane z pamięci podręcznej lub zakończyć się niepowodzeniem, jeśli jesteś offline i serwer nie jest dostępny. Aby określić to zachowanie, wywołaj funkcję getDocsFromCache() lub getDocsFromServer() .
getDocsFromCache (zapytanie) Wykonuje zapytanie i zwraca wyniki jako QuerySnapshot z pamięci podręcznej. Zwraca pusty zestaw wyników, jeśli obecnie w pamięci podręcznej nie znajdują się żadne dokumenty pasujące do zapytania.
getDocsFromServer(zapytanie) Wykonuje zapytanie i zwraca wyniki jako QuerySnapshot z serwera. Zwraca błąd, jeśli sieć jest niedostępna.
onSnapshot(zapytanie, obserwator) Dołącza odbiornik zdarzeń QuerySnapshot . Możesz przekazać indywidualne wywołania zwrotne onNext i onError lub przekazać pojedynczy obiekt obserwatora za pomocą wywołań zwrotnych next i error . Listener można anulować wywołując funkcję zwracaną po wywołaniu onSnapshot . UWAGA: Chociaż można udostępnić wywołanie zwrotne onCompletion , nigdy nie zostanie ono wywołane, ponieważ strumień migawek nigdy się nie kończy.
onSnapshot(zapytanie, opcje, obserwator) Dołącza odbiornik zdarzeń QuerySnapshot . Możesz przekazać indywidualne wywołania zwrotne onNext i onError lub przekazać pojedynczy obiekt obserwatora za pomocą wywołań zwrotnych next i error . Listener można anulować wywołując funkcję zwracaną po wywołaniu onSnapshot . UWAGA: Chociaż można udostępnić wywołanie zwrotne onCompletion , nigdy nie zostanie ono wywołane, ponieważ strumień migawek nigdy się nie kończy.
onSnapshot(zapytanie, onNext, onError, onCompletion) Dołącza odbiornik zdarzeń QuerySnapshot . Możesz przekazać indywidualne wywołania zwrotne onNext i onError lub przekazać pojedynczy obiekt obserwatora za pomocą wywołań zwrotnych next i error . Listener można anulować wywołując funkcję zwracaną po wywołaniu onSnapshot . UWAGA: Chociaż można udostępnić wywołanie zwrotne onCompletion , nigdy nie zostanie ono wywołane, ponieważ strumień migawek nigdy się nie kończy.
onSnapshot(zapytanie, opcje, onNext, onError, onCompletion) Dołącza odbiornik zdarzeń QuerySnapshot . Możesz przekazać indywidualne wywołania zwrotne onNext i onError lub przekazać pojedynczy obiekt obserwatora za pomocą wywołań zwrotnych next i error . Listener można anulować wywołując funkcję zwracaną po wywołaniu onSnapshot . UWAGA: Chociaż można udostępnić wywołanie zwrotne onCompletion , nigdy nie zostanie ono wywołane, ponieważ strumień migawek nigdy się nie kończy.
zapytanie(zapytanie, filtr kompozytowy, ograniczenia zapytania) Tworzy nową, niemodyfikowaną instancję Query , która jest rozszerzona o dodatkowe ograniczenia zapytań.
zapytanie(zapytanie, queryConstraints) Tworzy nową, niemodyfikowaną instancję Query , która jest rozszerzona o dodatkowe ograniczenia zapytań.
funkcja(ograniczenia zapytania, ...)
i (ograniczenia zapytania) Tworzy nowy QueryCompositeFilterConstraint będący połączeniem podanych ograniczeń filtru. Filtr koniunkcyjny uwzględnia dokument, jeśli spełnia wszystkie podane filtry.
lub(ograniczenia zapytania) Tworzy nowy QueryCompositeFilterConstraint , który jest rozłączeniem podanych ograniczeń filtru. Filtr rozłączenia obejmuje dokument, jeśli spełnia którykolwiek z podanych filtrów.
funkcja(odniesienie, ...)
addDoc(odniesienie, dane) Dodaj nowy dokument do określonego CollectionReference z podanymi danymi, automatycznie przypisując mu identyfikator dokumentu.
kolekcja(odniesienie, ścieżka, pathSegments) Pobiera wystąpienie CollectionReference , które odwołuje się do podkolekcji reference w określonej ścieżce względnej.
kolekcja(odniesienie, ścieżka, pathSegments) Pobiera wystąpienie CollectionReference , które odwołuje się do podkolekcji reference w określonej ścieżce względnej.
usuńDoc(odniesienie) Usuwa dokument, do którego odwołuje się określony DocumentReference .
doc(odniesienie, ścieżka, segmenty ścieżki) Pobiera wystąpienie DocumentReference , które odwołuje się do dokumentu w reference w określonej ścieżce względnej. Jeśli nie określono żadnej ścieżki, dla zwróconego DocumentReference zostanie użyty automatycznie wygenerowany unikalny identyfikator.
doc(odniesienie, ścieżka, segmenty ścieżki) Pobiera wystąpienie DocumentReference , które odwołuje się do dokumentu w reference w określonej ścieżce względnej.
getDoc(odniesienie) Odczytuje dokument, do którego odnosi się this DocumentReference . Uwaga: getDoc() próbuje, jeśli to możliwe, zapewnić aktualne dane, czekając na dane z serwera, ale może zwrócić dane z pamięci podręcznej lub zakończyć się niepowodzeniem, jeśli jesteś offline i serwer nie jest dostępny. Aby określić to zachowanie, wywołaj getDocFromCache() lub getDocFromServer() .
getDocFromCache (odniesienie) Odczytuje dokument, do którego odnosi się ten DocumentReference z pamięci podręcznej. Zwraca błąd, jeśli dokument nie jest obecnie buforowany.
getDocFromServer (odniesienie) Odczytuje z serwera dokument, do którego odnosi się ten DocumentReference . Zwraca błąd, jeśli sieć jest niedostępna.
onSnapshot(odniesienie, obserwator) Dołącza odbiornik zdarzeń DocumentSnapshot . Możesz przekazać indywidualne wywołania zwrotne onNext i onError lub przekazać pojedynczy obiekt obserwatora za pomocą wywołań zwrotnych next i error . UWAGA: Chociaż można udostępnić wywołanie zwrotne onCompletion , nigdy nie zostanie ono wywołane, ponieważ strumień migawek nigdy się nie kończy.
onSnapshot(odniesienie, opcje, obserwator) Dołącza odbiornik zdarzeń DocumentSnapshot . Możesz przekazać indywidualne wywołania zwrotne onNext i onError lub przekazać pojedynczy obiekt obserwatora za pomocą wywołań zwrotnych next i error . UWAGA: Chociaż można udostępnić wywołanie zwrotne onCompletion , nigdy nie zostanie ono wywołane, ponieważ strumień migawek nigdy się nie kończy.
onSnapshot(odniesienie, onNext, onError, onCompletion) Dołącza odbiornik zdarzeń DocumentSnapshot . Możesz przekazać indywidualne wywołania zwrotne onNext i onError lub przekazać pojedynczy obiekt obserwatora za pomocą wywołań zwrotnych next i error . UWAGA: Chociaż można udostępnić wywołanie zwrotne onCompletion , nigdy nie zostanie ono wywołane, ponieważ strumień migawek nigdy się nie kończy.
onSnapshot(odniesienie, opcje, onNext, onError, onCompletion) Dołącza odbiornik zdarzeń DocumentSnapshot . Możesz przekazać indywidualne wywołania zwrotne onNext i onError lub przekazać pojedynczy obiekt obserwatora za pomocą wywołań zwrotnych next i error . UWAGA: Chociaż można udostępnić wywołanie zwrotne onCompletion , nigdy nie zostanie ono wywołane, ponieważ strumień migawek nigdy się nie kończy.
setDoc(odniesienie, dane) Zapisuje w dokumencie, do którego odwołuje się this DocumentReference . Jeśli dokument jeszcze nie istnieje, zostanie utworzony.
setDoc(odniesienie, dane, opcje) Zapisuje w dokumencie, do którego odwołuje się określony DocumentReference . Jeśli dokument jeszcze nie istnieje, zostanie utworzony. Jeśli podasz merge lub mergeFields , podane dane mogą zostać scalone z istniejącym dokumentem.
updateDoc(odniesienie, dane) Aktualizuje pola w dokumencie, do którego odwołuje się określony DocumentReference . Aktualizacja nie powiedzie się, jeśli zostanie zastosowana do dokumentu, który nie istnieje.
updateDoc(odniesienie, pole, wartość, moreFieldsAndValues) Aktualizuje pola w dokumencie, do którego odwołuje się określony DocumentReference Aktualizacja nie powiedzie się, jeśli zostanie zastosowana do dokumentu, który nie istnieje. Pola zagnieżdżone można aktualizować, podając rozdzielone kropkami ciągi ścieżek pól lub udostępniając obiekty FieldPath .
funkcja(ustawienia, ...)
pamięćLocalCache (ustawienia) Tworzy instancję MemoryLocalCache . Instancję można ustawić na FirestoreSettings.cache , aby poinformować zestaw SDK, której warstwy pamięci podręcznej ma użyć.
pamięćLruGarbageCollector(ustawienia) Tworzy instancję MemoryLruGarbageCollector . Rozmiar docelowy można określić jako część parametru ustawień. Kolekcjoner rozpocznie usuwanie dokumentów, gdy rozmiar pamięci podręcznej przekroczy podany rozmiar. Domyślny rozmiar pamięci podręcznej wynosi 40 MB (40 * 1024 * 1024 bajtów).
trwałeLocalCache (ustawienia) Tworzy instancję PersistentLocalCache . Instancję można ustawić na FirestoreSettings.cache , aby poinformować zestaw SDK, której warstwy pamięci podręcznej ma użyć. Trwałej pamięci podręcznej nie można używać w środowisku Node.js.
trwałySingleTabManager(ustawienia) Tworzy instancję PersistentSingleTabManager .
funkcja (migawka, ...)
endAt (migawka) Tworzy QueryEndAtConstraint , który modyfikuje zestaw wyników tak, aby kończył się na podanym dokumencie (włącznie). Pozycja końcowa zależy od kolejności zapytania. Dokument musi zawierać wszystkie pola podane w zamówieniuBy zapytania.
koniecPrzed(migawka) Tworzy QueryEndAtConstraint , który modyfikuje zestaw wyników tak, aby kończył się przed dostarczonym dokumentem (wyłącznie). Pozycja końcowa zależy od kolejności zapytania. Dokument musi zawierać wszystkie pola podane w zamówieniuBy zapytania.
startPo (migawka) Tworzy QueryStartAtConstraint , który modyfikuje zestaw wyników tak, aby rozpoczynał się po dostarczonym dokumencie (wyłącznie). Pozycja początkowa zależy od kolejności zapytania. Dokument musi zawierać wszystkie pola podane w zamówieniuBy zapytania.
startAt (migawka) Tworzy QueryStartAtConstraint , który modyfikuje zestaw wyników tak, aby rozpoczynał się od podanego dokumentu (włącznie). Pozycja początkowa zależy od kolejności zapytania. Dokument musi zawierać wszystkie pola podane w orderBy tego zapytania.

Zajęcia

Klasa Opis
Pole zagregowane Reprezentuje agregację, którą może wykonać Firestore.
Zagregowana migawka zapytania Wyniki wykonania zapytania agregującego.
Bajty Niezmienny obiekt reprezentujący tablicę bajtów.
KolekcjaReferencja Obiekt CollectionReference może być używany do dodawania dokumentów, uzyskiwania odniesień do dokumentów i wykonywania zapytań o dokumenty (przy użyciu funkcji query() ).
Odnośnik do dokumentu DocumentReference odnosi się do lokalizacji dokumentu w bazie danych Firestore i może być używane do zapisywania, czytania lub słuchania lokalizacji. Dokument we wskazanej lokalizacji może istnieć lub nie.
Zrzut dokumentu DocumentSnapshot zawiera dane odczytane z dokumentu w bazie danych Firestore. Dane można wyodrębnić za pomocą .data() lub .get(<field>) , aby uzyskać określone pole. W przypadku DocumentSnapshot wskazującego nieistniejący dokument każdy dostęp do danych zwróci wartość „niezdefiniowany”. Możesz użyć metody exists() , aby jawnie zweryfikować istnienie dokumentu.
Ścieżka pola FieldPath odnosi się do pola w dokumencie. Ścieżka może składać się z pojedynczej nazwy pola (odnoszącej się do pola najwyższego poziomu w dokumencie) lub listy nazw pól (odnoszącej się do zagnieżdżonego pola w dokumencie). Utwórz FieldPath , podając nazwy pól. Jeśli podano więcej niż jedną nazwę pola, ścieżka będzie wskazywała pole zagnieżdżone w dokumencie.
Wartość pola Wartości wartownicze, których można używać podczas zapisywania pól dokumentu za pomocą set() lub update() .
Sklep z ogniem Interfejs usługi Cloud Firestore. Nie wywołuj tego konstruktora bezpośrednio. Zamiast tego użyj getFirestore() .
Błąd Firestore'a Błąd zwrócony przez operację Firestore.
GeoPoint Niezmienny obiekt reprezentujący lokalizację geograficzną w Firestore. Lokalizacja jest reprezentowana jako para szerokości i długości geograficznej. Wartości szerokości geograficznej mieszczą się w zakresie [-90, 90]. Wartości długości geograficznej mieszczą się w przedziale [-180, 180].
Załaduj zadanie pakietu Reprezentuje zadanie ładowania pakietu Firestore. Zapewnia postęp ładowania pakietu, a także zakończenie zadania i zdarzenia błędów. Interfejs API jest kompatybilny z Promise<LoadBundleTaskProgress> .
Menedżer trwałej pamięci podręcznejIndex PersistentCacheIndexManager do konfigurowania trwałych indeksów pamięci podręcznej używanych do lokalnego wykonywania zapytań. Aby użyć, wywołaj getPersistentCacheIndexManager() w celu uzyskania instancji.
Zapytanie Query oznacza zapytanie, które można przeczytać lub odsłuchać. Możesz także konstruować udoskonalone obiekty Query , dodając filtry i porządkując.
Ograniczenie QueryCompositeFilter QueryCompositeFilterConstraint służy do zawężania zestawu dokumentów zwracanych przez zapytanie Firestore poprzez wykonanie logicznego OR lub AND wielu QueryFieldFilterConstraint s lub QueryCompositeFilterConstraint S. QueryCompositeFilterConstraint są tworzone przez wywołanie or() lub and() i można je następnie przekazać do query() w celu utworzenia nowej instancji zapytania, która zawiera również QueryCompositeFilterConstraint .
Ograniczenie zapytania QueryConstraint służy do zawężania zestawu dokumentów zwracanych przez zapytanie Firestore. QueryConstraint są tworzone poprzez wywołanie metody Where() , Zamów przez() , zacznij od() , rozpocznijPo() , koniecPrzed() , koniecAt() , limit() , limitToLast() i można je następnie przekazać do query() w celu utworzenia nowej instancji zapytania, która również zawiera tę QueryConstraint .
ZapytanieDokumentSnapshot QueryDocumentSnapshot zawiera dane odczytane z dokumentu w bazie danych Firestore jako część zapytania. Gwarantujemy, że dokument istnieje, a jego dane można wyodrębnić za pomocą .data() lub .get(<field>) , aby uzyskać określone pole. QueryDocumentSnapshot oferuje tę samą powierzchnię interfejsu API co DocumentSnapshot . Ponieważ wyniki zapytania zawierają tylko istniejące dokumenty, właściwość exists zawsze będzie miała wartość true, a data() nigdy nie zwróci wartości „niezdefiniowana”.
ZapytanieEndAtConstraint QueryEndAtConstraint służy do wykluczania dokumentów z końca zestawu wyników zwróconego przez zapytanie Firestore. QueryEndAtConstraint są tworzone przez wywołanie endAt() lub endBefore() i można je następnie przekazać do query() w celu utworzenia nowej instancji zapytania, która również zawiera tę QueryEndAtConstraint .
Ograniczenie QueryFieldFilter QueryFieldFilterConstraint służy do zawężania zestawu dokumentów zwracanych przez zapytanie Firestore poprzez filtrowanie według jednego lub większej liczby pól dokumentu. QueryFieldFilterConstraint są tworzone przez wywołanie metody Where() i można je następnie przekazać do query() w celu utworzenia nowej instancji zapytania, która również zawiera tę QueryFieldFilterConstraint .
Ograniczenie zapytania QueryLimitConstraint służy do ograniczenia liczby dokumentów zwracanych przez zapytanie Firestore. QueryLimitConstraint są tworzone przez wywołanie funkcji limit() lub limitToLast() , a następnie można je przekazać do query() w celu utworzenia nowej instancji zapytania, która również zawiera tę QueryLimitConstraint .
ZapytanieOrderByConstraint QueryOrderByConstraint służy do sortowania zestawu dokumentów zwróconych przez zapytanie Firestore. QueryOrderByConstraint s są tworzone przez wywołując Orderby () , a następnie można zostać przekazane do Query () , aby utworzyć nową instancję zapytania, która zawiera również ten QueryOrderByConstraint . Uwaga: Dokumenty, które nie zawierają pola Orderby, nie będą obecne w wyniku zapytania.
Queryysnapshot QuerySnapshot zawiera zero lub więcej obiektów DocumentSnapshot reprezentujących wyniki zapytania. Dokumenty można uzyskać jako tablicę za pośrednictwem właściwości docs lub wyliczone za pomocą metody forEach . Liczbę dokumentów można określić za pomocą właściwości empty i size .
QueryStartatConstraint QueryStartAtConstraint jest używany do wykluczenia dokumentów od początku zestawu wyników zwróconych przez zapytanie Firestore. QueryStartAtConstraint S są tworzone przez wywołując startat () lub starciefter () , a następnie można je przekazać do Query () , aby utworzyć nową instancję zapytania, która zawiera również ten QueryStartAtConstraint .
Snapshotmetadata Metadane o migawce, opisując stan migawki.
Znak czasu Timestamp stanowi punkt w czasie niezależny od dowolnej strefy czasowej lub kalendarza, reprezentowanego jako sekundy i ułamki sekund w rozdzielczości nanosekundowej w epokach UTC. Jest kodowany przy użyciu kalendarza proletowego gregoriańskiego, który rozszerza kalendarz gregoriański do pierwszego roku. Jest kodowany, zakładając, że wszystkie minuty trwają 60 sekund, tj. Sekcje skokowe są „rozmazane”, aby do interpretacji nie jest potrzebny drugi stół. Zakres wynosi od 0001-01-01T00: 00: 00Z do 9999-12-31T23: 59: 59,99999999999. Przykłady i dalsze specyfikacje zapoznaj się z definicją znacznika czasu .
Transakcja Odniesienie do transakcji. Obiekt Transaction przekazany do updateFunction transakcji zapewnia metody odczytu i zapisu danych w kontekście transakcji. Patrz Runtransaction () .
WriteBatch Partia zapisu, używana do wykonywania wielu zapisów jako pojedyncza jednostka atomowa. Obiekt WriteBatch można uzyskać, wywołując pismoBatch () . Zapewnia metody dodawania zapisów do partii zapisu. Żaden z zapisów nie będzie popełniony (lub widoczny lokalnie), dopóki nie zostanie wywołane pisaniebatch.commit () .

Interfejsy

Interfejs Opis
AggregatesPec Określa zestaw agregacji i ich aliasów.
DocumentChange DocumentChange reprezentuje zmianę dokumentów pasujących do zapytania. Zawiera dotknięty dokument i rodzaj nastąpionej zmiany.
DocumentData Dokumentuj danych (do użytku z setDoc () ) składa się z pól odwzorowanych na wartości.
ExperimentAllongPollingoptions Opcje, które konfigurują podstawowy transport sieciowy SDK (WebChannel), gdy używane jest długie przyleganie. Uwaga: Ten interfejs jest „eksperymentalny” i może ulec zmianie. Patrz FirestoreSettings.experimentalAutoDetectLongPolling , FirestoreSettings.experimentalForceLongPolling . ExperimentalForongPolling i FirestoreSettings.experimentalLongPollingOptions .
FirestoredAtaconverter Konwerter używany przez withConverter() do przekształcania obiektów użytkownika typu AppModelType w dane Firestore z typu DbModelType . Korzystanie z konwertera pozwala określić argumenty typu ogólnego podczas przechowywania i pobierania obiektów z Firestore. W tym kontekście „AppModel” to klasa używana w aplikacji do pakowania powiązanych informacji i funkcjonalności. Taka klasa mogła na przykład mieć właściwości ze złożonymi, zagnieżdżonymi typami danych, właściwości używane do memoizowania, właściwości typów nie obsługiwanych przez Firestore (takie jak symbol i bigint ) oraz funkcje pomocnicze wykonujące operacje złożone. Takie klasy nie są odpowiednie i/lub możliwe do przechowywania w bazie danych Firestore. Zamiast tego wystąpienia takich klas należy przekonwertować na „zwykłe stare obiekty JavaScript” (Pojos) z wyłącznie prymitywnymi właściwościami, potencjalnie zagnieżdżonymi w innych Pojo lub tablicach Pajos. W tym kontekście ten typ jest określany jako „dbmodel” i byłby obiektem odpowiednim do utrzymywania się w Firestore. Dla wygody aplikacje mogą wdrażać FirestoreDataConverter i zarejestrować konwerter w obiektach Firestore, takich jak DocumentReference lub Query , aby automatycznie konwertować AppModel na DbModel podczas przechowywania w Firestore, i przekonwertować DbModel na AppModel podczas pobierania z Firestore.
FirestoResettings Określa niestandardowe konfiguracje dla instancji Cloud Firestore. Musisz je ustawić przed wywołaniem innych metod.
Indeks (Beta) Definicja SDK indeksu Firestore.
IndexConfiguration (Beta) Lista indeksów Firestore w celu przyspieszenia wykonania lokalnego zapytania. Opis formatu definicji indeksu znajduje się w formacie JSON .
Indeksfield (Beta) Jeden element pola w konfiguracji indeksu.
LoadBundleTaskProgress Reprezentuje aktualizację postępu lub stan końcowy z ładowania pakietów.
MemoryCachesettings Obiekt ustawień, aby skonfigurować instancję MemoryLocalCache .
MemoryEagergarbageCollector Garbage Collector usuwa dokumenty, gdy nie są częścią żadnych aktywnych zapytań i nie mają do nich żadnych lokalnych mutacji. Ten kolekcjoner próbuje zapewnić najniższe ślady pamięci z SDK, ryzykując, że dokumenty nie zostaną buforowane w przypadku zapytań offline lub bezpośrednich zapytań do pamięci podręcznej. Użyj funkcji fabrycznej, aby utworzyć instancję tego kolekcjonera.
MemoryLocalcache Zapewnia pamięć podręczną w pamięci SDK. Jest to domyślna pamięć podręczna, chyba że wyraźnie skonfigurowana inaczej. Aby użyć, utwórz instancję za pomocą funkcji fabrycznej, a następnie ustaw instancję na FirestoreSettings.cache i Call initializeFirestore za pomocą obiektu ustawień.
MemorylRugarBageCollector Garbage Collector usuwa najmniej używane dokumenty w wielu partiach. Ten kolektor jest skonfigurowany z rozmiarem docelowym i będzie wykonywał kolekcję tylko wtedy, gdy dokumenty buforowane przekroczą rozmiar docelowy. Unika, że ​​zapytają zapytań powtarzane w przypadku tego samego zapytania lub dokumentu, ryzykując większy ślad pamięci. Użyj funkcji fabrycznej, aby utworzyć instancję tego kolekcjonera.
Trwałe Ustawienia, które można przekazać do enableIndexedDbPersistence() w celu skonfigurowania trwałości Firestore. Trwałości nie można użyć w środowisku Node.js.
UtrzymywaczoweSettings Obiekt ustawień, aby skonfigurować instancję PersistentLocalCache . Trwałej pamięci podręcznej nie może być używana w środowisku Node.js.
TristentEntLocalcache Zapewnia trwałą pamięć podręczną wspieraną przez indeksEdDB do SDK. Aby użyć, utwórz instancję za pomocą funkcji fabrycznej, a następnie ustaw instancję na FirestoreSettings.cache i Call initializeFirestore za pomocą obiektu ustawień.
UptandentMultipletaBManager Menedżer TAB obsługujący wiele kart. SDK zsynchronizuje zapytania i mutacje wykonane we wszystkich zakładkach za pomocą SDK.
TristantsingletaBManager Menedżer TAB obsługujący tylko jedną kartę, nie zostanie wykonana synchronizacja na zakładkach.
TristressingletaBManagerSettings Wpisz, aby skonfigurować instancję PersistentSingleTabManager .
SnapshotListenoptions Obiekt opcji, który można przekazać do Onsnapshot () i QuerySnapshot.docchanges () , aby kontrolować, które rodzaje zmian należy uwzględnić w zestawie wyników.
Snapshotoptions Opcje, które konfigurują, w jaki sposób dane są pobierane z DocumentSnapshot (na przykład pożądane zachowanie znaczników czasu serwera, które nie zostały jeszcze ustawione na ich ostateczną wartość).
Transakcja Opcje dostosowania zachowania transakcji.
Zrezygnuj z subskrypcji Funkcja zwrócona przez onSnapshot() , która usuwa słuchacza po wywołaniu.

Zmienne

Zmienny Opis
Cache_size_unlimited Stałe używane do wskazania kolekcji śmieci LRU powinno być wyłączone. Ustaw tę wartość jako cacheSizeBytes w ustawieniach przekazanych do instancji Firestore .

Wpisz aliasy

Wpisz alias Opis
Addprefixtokeys Zwraca nową mapę, w której każdy klucz jest prefiksowany z zewnętrznym kluczem dołączonym do kropki.
Aggregatefieldtype Związek wszystkich typów AggregateField , które są wspierane przez Firestore.
AggregatesPecdata Typ, którego klucze są pobierane z AggregateSpec i którego wartości są wynikiem agregacji wykonanej przez odpowiadające AggregateField z AggregateSpec wejściowych.
AggregateType Typ Unii reprezentujący typ agregatu do wykonania.
ChildUpdatefields Pomocnik do obliczania zagnieżdżonych pól dla danego typu T1. Jest to potrzebne do dystrybucji typów związków, takich jak undefined | {...} (zdarza się dla opcjonalnych rekwizytów) lub {a: A} | {b: B} . W tym przypadku V jest używany do rozpowszechniania Record T[K] , ponieważ T[K] jest oceniany jako wyrażenie i nie jest rozmieszczone. Zobacz https://www.typescriptlang.org/docs/handbook/advanced-types.html#distribctive-onditional-types
DocumentChangeType Rodzaj DocumentChange można „dodać”, „usunięte” lub „zmodyfikowane”.
FIRESTOREERRORCODE Zestaw kodów stanu Firestore. Kody są takie same na tych ujawnionych przez GRPC tutaj: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md Możliwe wartości: - „anulowane”: Operacja została anulowana (zwykle przez dzwoniącego). - „Nieznany”: Nieznany błąd lub błąd z innej domeny błędu. - „Nieprawidłowy argument”: Klient określił nieprawidłowy argument. Należy zauważyć, że różni się to od „nieudanej prefondcji”. „Nieprawidłowy argument” wskazuje argumenty, które są problematyczne, niezależnie od stanu systemu (np. Nieprawidłowa nazwa pola). - „Termin-exed”: termin wygasł przed zakończeniem operacji. W przypadku operacji, które zmieniają stan systemu, błąd ten może zostać zwrócony, nawet jeśli operacja zakończyła się pomyślnie. Na przykład pomyślna odpowiedź serwera mogła być opóźniona wystarczająco długo, aby termin wygasł. - „Niestał”: nie znaleziono żądanego dokumentu. - „Just-Existists”: jakiś dokument, który próbowaliśmy już utworzyć. - „Zezwolenie”: dzwoniący nie ma zgody na wykonanie określonej operacji. -„Eksploracja zasobów”: Niektóre zasoby zostały wyczerpane, być może kwota dla użytkownika, a może cały system plików nie jest w przestrzeni. - „Niepowodzenie prefondomicji”: Operacja została odrzucona, ponieważ system nie jest w stanie wymaganym do wykonania operacji. - „Przerwane”: Operacja została przerwana, zwykle z powodu problemu współbieżności, takiego jak przerywanie transakcji itp.- „Out-off-Offange”: podjęto próbę operatora po prawidłowym zakresie. - „Unimplemented”: Operacja nie jest zaimplementowana lub nie obsługiwana/włączona. - „Wewnętrzne”: błędy wewnętrzne. Oznacza, że ​​niektóre niezmienniki oczekiwane przez system podstawowy zostały zepsute. Jeśli zobaczysz jeden z tych błędów, coś jest bardzo zepsute. - „Niedostępne”: Usługa jest obecnie niedostępna. Jest to najprawdopodobniej stan przejściowy i może zostać skorygowany przez ponowne wycofanie. - „Losowanie danych”: Utrata danych lub uszkodzenie danych. - „Nieautentyczne”: żądanie nie ma prawidłowych poświadczeń uwierzytelnienia dla operacji.
Firestorelocalcache Typ Unii ze wszystkich obsługiwanej warstwy pamięci podręcznej SDK.
Listensource Opisz źródło, do którego słucha zapytanie. Ustaw na default , aby wysłuchać zmian pamięci podręcznej i serwera. Ustaw na cache , aby słuchać zmian tylko pamięci podręcznej.
MemorygarbageCollector Typ związkowy z wszystkich wspierających kolekcjonerów gabage dla pamięci lokalnej pamięci podręcznej.
NestedUpdatefields Dla każdego pola (np. „Bar”) znajdź wszystkie zagnieżdżone klucze (np. { „bar.baz”: t1, „bar.qux”: t2 } ). Przecinaj je razem, aby stworzyć jedną mapę zawierającą wszystkie możliwe klucze, które są oznaczone jako opcjonalne
OrderbyDirection Kierunek klauzuli Orderby () jest określony jako „desc” lub „asc” (zejście lub wzrost).
PartialwithfieldValue Podobnie jak Partial<T> , ale pozwala pominąć zagnieżdżone pola i wartości terenowe jako wartości właściwości.
TristentTabManager Związek wszystkich dostępnych menedżerów zakładki.
Prymitywny Prymitywne typy.
QueryConstraintType Opisuje różne ograniczenia zapytań dostępne w tym SDK.
QueryFilterConstraint QueryFilterConstraint to pomocnik, który reprezentuje QueryfieldFilterConstraint i QueryCompositeFilterConstraint .
QueryNonFilterConstraint QueryNonFilterConstraint to pomocniczka, która reprezentuje QueryConstraintions, które są używane do zawężenia lub zamówienia zestawu dokumentów, ale które nie filtrują wyraźnie w polu dokumentu. QueryNonFilterConstraint s są tworzone przez wywołując Orderby () , startat () , startufter () , EndBefore () , endat () , limit () lub limitolast (), a następnie można je przekazać do zapytania () , aby utworzyć nową instancję zapytania, która zawiera również QueryConstraint .
Setoptions Obiekt opcji, który konfiguruje zachowanie setDoc () i wzywa. Połączenia te można skonfigurować do wykonywania ziarnistych scalów zamiast zastąpienia docelowych dokumentów w całości, zapewniając SetOptions z merge: true .
Taskstate Reprezentuje stan zadań ładowania wiązki. Zarówno „błąd”, jak i „sukces” są tonącym stanem: zadanie przerywa lub zakończy się i nie będzie więcej aktualizacji po ich zgłoszeniu.
UNIONTOINTERSECTION Biorąc pod uwagę związek U = T1 | T2 | ... , zwraca przecinany typ (T1 & T2 & ...) . Wykorzystuje dystrybucyjne typy warunkowe i wnioskowanie z typów warunkowych. Działa to, ponieważ wielu kandydatów dla tej samej zmiennej typu w pozycjach przeciwmiennych powoduje wnioskowanie typu przecięcia. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-onditional-types https://stackaverflow.com/questions/50374908/transform-union-type-on-intersection -typ
Aktualizować dane Zaktualizuj dane (do użytku z UpdateC () ) To składa się ze ścieżek terenowych (np. „Foo” lub „foo.baz”) zmapowanych na wartości. Pola zawierające kody odnoszące się do zagnieżdżonych pola w dokumencie. Wartości terenowe mogą być przekazywane jako wartości właściwości.
Gdzie Filterop Warunki filtrowania w klauzuli gdzie () są określone za pomocą ciągów „& lt;”, '& lt; =', '==', '! =', '& Gt; =', '& gt;', 'array-contains' , „in”, „array-contains-a” i „not-in”.
Z FieldValue Umożliwia przekazanie wartości terenowych jako wartości właściwości przy jednoczesnym utrzymaniu bezpieczeństwa typu.

funkcja (aplikacja, ...)

getfirestore (aplikacja)

Zwraca istniejącą domyślną instancję Firestore , która jest powiązana z dostarczonym FireBaseApp . Jeśli nie istnieje żadna instancja, inicjuje nową instancję z ustawieniami domyślnymi.

Podpis:

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

Parametry

Parametr Typ Opis
aplikacja FireBaseApp Instancja FireBaseApp , z którą powrócona instancja Firestore jest powiązana.

Zwroty:

Firestore

Domyślna instancja Firestore w dostarczonej aplikacji.

getfirestore (app, batabaseID)

Ten interfejs API jest dostarczany jako podgląd dla programistów i może się zmienić na podstawie otrzymywanych informacji zwrotnych. Nie używaj tego interfejsu API w środowisku produkcyjnym.

Zwraca istniejącą nazwaną instancję Firestore , która jest powiązana z dostarczonym FireBaseApp . Jeśli nie istnieje żadna instancja, inicjuje nową instancję z ustawieniami domyślnymi.

Podpis:

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

Parametry

Parametr Typ Opis
aplikacja FireBaseApp Instancja FireBaseApp , z którą powrócona instancja Firestore jest powiązana.
batabaseID strunowy Nazwa bazy danych.

Zwroty:

Firestore

Nazwana instancja Firestore dostarczonej aplikacji.

initizeFirestore (App, Ustawienia, DatabaseID)

Inicjuje nową instancję Firestore z dostarczonymi ustawieniami. Można wywołać tylko przed jakąkolwiek inną funkcją, w tym getfirestore () . Jeśli ustawienia niestandardowe są puste, ta funkcja jest równoważna wywoływaniu getfirestore () .

Podpis:

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

Parametry

Parametr Typ Opis
aplikacja FireBaseApp FireBaseApp , z którym będzie powiązana instancja Firestore .
ustawienia FirestoResettings Obiekt ustawień, aby skonfigurować instancję Firestore .
batabaseID strunowy Nazwa bazy danych.

Zwroty:

Firestore

Nowo zainicjowana instancja Firestore .

funkcja (Firestore, ...)

ClearIndexedDBPersistence (Firestore)

Usuwa trwałe przechowywanie. Obejmuje to oczekujące zapisy i dokumenty buforowane.

Należy wywołać, gdy instancja Firestore nie jest uruchamiana (po zakończeniu aplikacji lub po pierwszej inicjalizacji aplikacji). Po uruchomieniu ta funkcja musi być wywołana przed innymi funkcjami (innymi niż initizefirestore () lub getfirestore () )). Jeśli instancja Firestore nadal działa, obietnica zostanie odrzucona wraz z kodem błędu failed-precondition .

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Instancja Firestore , aby usunąć wytrwałość.

Zwroty:

Obiecaj <Void>

Promise , która jest rozwiązana po wyczyszczeniu trwałego przechowywania. W przeciwnym razie obietnica jest odrzucana z błędem.

Kolekcja (Firestore, ścieżka, Pathsegments)

Otrzymuje instancję CollectionReference , która odnosi się do kolekcji na określonej bezwzględnej ścieżce.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Odniesienie do instancji Root Firestore .
ścieżka strunowy Oddzielona ścieżka do kolekcji.
PATHSEGMENTY strunowy[] Dodatkowe segmenty ścieżek do zastosowania w stosunku do pierwszego argumentu.

Zwroty:

CollectionReference < DocumentData , DocumentData >

Instancja CollectionReference .

Wyjątki

Jeśli ostatnia ścieżka ma parzystą liczbę segmentów i nie wskazuje na kolekcję.

Kolekcja Grupa (Firestore, CollectionId)

Tworzy i zwraca nową instancję Query , która zawiera wszystkie dokumenty w bazie collectionId zawarty .

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Odniesienie do instancji Root Firestore .
CollectionId strunowy Identyfikuje kolekcje, które należy zapytać. Każda kolekcja lub subkomolowanie z tym identyfikatorem, ponieważ zostanie uwzględniony ostatni segment jej ścieżki. Nie może zawierać cięcia.

Zwroty:

Zapytanie < DocumentData , DocumentData >

Utworzone Query .

ConnectFirestoreEmulator (Firestore, host, port, opcje)

Zmodyfikuj tę instancję, aby komunikować się z emulatorem Cloud Firestore.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Instancja Firestore do konfiguracji w celu połączenia z emulatorem.
gospodarz strunowy Host emulatorów (np.: LocalHost).
Port numer Port emulatora (np. 9000).
opcje {Mockusertoken?: EmulatormockTokenOptions | strunowy; }

Zwroty:

próżnia

niepełnosprawne (Firestore)

Wyłącza użycie sieci dla tego przypadku. Można go ponownie włączyć za pośrednictwem enableNetWork () . Podczas gdy sieć jest wyłączona, wszelkie wywołania słuchaczy migawek, połączenia getDoc() lub getDocs() zwracają wyniki z pamięci podręcznej, a wszelkie operacje zapisu zostaną ustawione w kolejce do momentu przywrócenia sieci.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore

Zwroty:

Obiecaj <Void>

Promise , która zostanie rozwiązana po wyłączeniu sieci.

Doc (Firestore, Path, Pathsegments)

Otrzymuje instancję DocumentReference , która odnosi się do dokumentu na określonej ścieżce bezwzględnej.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Odniesienie do instancji Root Firestore .
ścieżka strunowy Oddzielona ścieżka do dokumentu.
PATHSEGMENTY strunowy[] Dodatkowe segmenty ścieżek, które zostaną zastosowane w stosunku do pierwszego argumentu.

Zwroty:

Odnośnik do dokumentu < DocumentData , DocumentData >

Instancja DocumentReference .

Wyjątki

Jeśli ostatnia ścieżka ma nieparzystą liczbę segmentów i nie wskazuje na dokument.

EnableIndexedDBPersistence (Firestore, Tristencesettings)

Ta funkcja zostanie usunięta w przyszłości głównej wersji. Zamiast tego ustaw FirestoreSettings.localCache na instancję PersistentLocalCache , aby włączyć pamięć podręczną indexEdDB. Wywołanie tej funkcji, gdy FirestoreSettings.localCache jest już określony, rzuci wyjątek.

Jeśli to możliwe, próby włączenia trwałego przechowywania.

W przypadku awarii enableIndexedDbPersistence() odrzuci obietnicę lub rzuci wyjątek. Istnieje kilka powodów, dla których może to zawieść, co może być zidentyfikowane przez code błędu.

* Niepowodzenie Precondition: Aplikacja jest już otwarta w innej zakładce przeglądarki. * Niewystępowane: przeglądarka jest niezgodna z implementacją trwałości offline.

Zauważ, że nawet po awarii instancja Firestore pozostanie użyteczna, jednak trwałość offline będzie wyłączona.

Trwałości nie można użyć w środowisku Node.js.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Instancja Firestore , aby umożliwić wytrwałość.
trwałe Trwałe Opcjonalne obiekt ustawień do konfigurowania trwałości.

Zwroty:

Obiecaj <Void>

Promise , która reprezentuje skutecznie umożliwiającą trwałe przechowywanie.

EnablemultitaBindexedDBPersistence (Firestore)

Ta funkcja zostanie usunięta w przyszłości głównej wersji. Zamiast tego ustaw FirestoreSettings.localCache na instancję PersistentLocalCache , aby włączyć pamięć podręczną indexEdDB. Wywołanie tej funkcji, gdy FirestoreSettings.localCache jest już określony, rzuci wyjątek.

Jeśli to możliwe, próby włączenia trwałego przechowywania wielu Tab. Jeśli włączone we wszystkich kartach, wszystkie operacje udostępniają dostęp do lokalnej trwałości, w tym udostępnione wykonywanie zapytania i aktualizacje dokumentów lokalnych kompensowanych opóźnień we wszystkich podłączonych instancjach.

W przypadku awarii enableMultiTabIndexedDbPersistence() odrzuci obietnicę lub rzuci wyjątek. Istnieje kilka powodów, dla których może to zawieść, co może być zidentyfikowane przez code błędu.

* Niepowodzenie: aplikacja jest już otwarta w innej zakładce przeglądarki, a Multi-Tab nie jest włączona. * Niewystępowane: przeglądarka jest niezgodna z implementacją trwałości offline.

Zauważ, że nawet po awarii instancja Firestore pozostanie użyteczna, jednak trwałość offline będzie wyłączona.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Instancja Firestore , aby umożliwić wytrwałość.

Zwroty:

Obiecaj <Void>

Promise , która reprezentuje skutecznie umożliwiającą trwałe przechowywanie.

EnableNetwork (Firestore)

Ponowne uwzględnienie korzystania z sieci dla tej instancji Firestore po wcześniejszym wezwaniu do DisableNetwork () .

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore

Zwroty:

Obiecaj <Void>

Promise , która zostanie rozwiązana po włączeniu sieci.

getPersistentCacheIndexManager (Firestore)

Zwraca menedżer indeksu uporczych wykorzystywany przez podany obiekt Firestore .

Instancja PersistentCacheIndexManager lub null , jeśli nie jest używana lokalna trwałe przechowywanie.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore

Zwroty:

TristentCacheIndexManager | zero

Loadbundle (Firestore, Bundledata)

Ładuje pakiet Firestore do lokalnej pamięci podręcznej.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Instancja Firestore do załadowania wiązek.
Bundledata ReadableStream <uint8Array> | ArrayBuffer | strunowy Obiekt reprezentujący pakiet do załadowania. Prawidłowe obiekty to ArrayBuffer , ReadableStream<Uint8Array> lub string .

Zwroty:

Loadbundletask

Obiekt LoadBundleTask , który powiadamia dzwoniących z aktualizacjami postępu oraz zdarzeniami ukończenia lub błędu. Może być używany jako Promise<LoadBundleTaskProgress> .

NamedQuery (Firestore, nazwa)

Czyta zapytanie Firestore z lokalnej pamięci podręcznej, zidentyfikowane pod daną nazwą.

Nazwane zapytania są pakowane w pakiety po stronie serwera (wraz z wynikowymi dokumentami) i załadowane do lokalnej pamięci podręcznej za pomocą loadBundle . Po lokalnej pamięci podręcznej użyj tej metody, aby wyodrębnić zapytanie według nazwy.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Instancja Firestore , z której można przeczytać zapytanie.
nazwa strunowy Nazwa zapytania.

Zwroty:

Obiecaj < zapytanie | null>

Promise , która jest rozwiązana z zapytaniem lub null .

onsnapshotssync (Firestore, Observer)

Dołącza słuchacza do zdarzenia migawek w synchronizacji. Zdarzenie migawek-synchronizacji wskazuje, że wszyscy słuchacze danej zmiany zwolnili, nawet jeśli jedna zmiana generowana przez serwer wpływa na wielu słuchaczy.

Uwaga: zdarzenie migawek w synchronizacji wskazuje tylko, że słuchacze są zsynchronizowane ze sobą, ale nie odnosi się do tego, czy migawki są zsynchronizowane z serwerem. Użyj SnapshotMetAdata w poszczególnych słuchaczy, aby ustalić, czy migawka pochodzi z pamięci podręcznej lub serwera.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Instancja Firestore do synchronizacji migawek.
obserwator {następny?: (wartość: void) => void; Błąd?: (błąd: Firestoreerror ) => void; kompletne?: () => void; } Pojedynczy obiekt zawierający next i error zwrotne.

Zwroty:

Zrezygnuj z subskrypcji

Funkcja rezygnacji z subskrypcji, którą można wywołać w celu anulowania słuchacza migawki.

onsnapshotssync (Firestore, onsync)

Dołącza słuchacza do zdarzenia migawek w synchronizacji. Zdarzenie migawek-synchronizacji wskazuje, że wszyscy słuchacze danej zmiany zwolnili, nawet jeśli jedna zmiana generowana przez serwer wpływa na wielu słuchaczy.

Uwaga: zdarzenie migawek w synchronizacji wskazuje tylko, że słuchacze są zsynchronizowane ze sobą, ale nie odnosi się do tego, czy migawki są zsynchronizowane z serwerem. Użyj SnapshotMetadata w poszczególnych słuchaczy, aby ustalić, czy migawka pochodzi z pamięci podręcznej lub serwera.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Instancja Firestore do synchronizacji migawek.
onsync () => void Oddzwanianie, które można wywołać za każdym razem, gdy wszyscy słuchacze migawki są ze sobą zsynchronizowane.

Zwroty:

Zrezygnuj z subskrypcji

Funkcja rezygnacji z subskrypcji, którą można wywołać w celu anulowania słuchacza migawki.

Runtransaction (Firestore, aktualizacja funkcja, opcje)

Wykonuje daną updateFunction , a następnie próbuje popełnić zmiany zastosowane w transakcji. Jeśli jakikolwiek dokument odczytany w ramach transakcji, Cloud Firestore odpowiada updateFunction . Jeśli nie popełni się po 5 próbach, transakcja się nie powiedzie.

Maksymalna liczba zapisów dozwolonych w jednej transakcji wynosi 500.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Odniesienie do bazy danych Firestore w celu uruchomienia tej transakcji.
aktualizacja funkcja (Transakcja: transakcja ) => Obiecanie <T> Funkcja do wykonania w kontekście transakcji.
opcje Transakcja Obiekt opcji, aby skonfigurować maksymalną liczbę prób zatwierdzenia.

Zwroty:

Obietnica <t>

Jeśli transakcja zakończyła się pomyślnie lub została wyraźnie przerwana ( updateFunction zwróciła nieudaną obietnicę), obietnica zwrócona przez updateFunction zwracany tutaj. W przeciwnym razie, jeśli transakcja się nie powiodła, zwracana jest odrzucona obietnica z odpowiednim błędem awarii.

setIndexConfiguration (Firestore, konfiguracja)

Ten interfejs API jest dostarczany jako podgląd dla programistów i może się zmienić na podstawie otrzymywanych informacji zwrotnych. Nie używaj tego interfejsu API w środowisku produkcyjnym.

Zamiast ręcznie tworzyć indeksy pamięci podręcznej, rozważ użycie enablePersistentCacheIndexAutoCreation() , aby SDK zdecydował, czy utworzyć indeksy pamięci podręcznej dla zapytań działających lokalnie.

Konfiguruje indeksowanie do wykonania lokalnego zapytania. Każda poprzednia konfiguracja indeksu jest zastąpiona. Promise rozwiązuje się po utrzymaniu konfiguracji indeksu.

Same wpisy indeksu są tworzone asynchronicznie. Możesz nadal używać zapytań wymagających indeksowania, nawet jeśli wskaźniki nie są jeszcze dostępne. Wykonywanie zapytania automatycznie zacznie się używać indeksu po napisaniu wpisów indeksu.

Indeksy są obsługiwane tylko z trwałością indexedDB. Jeśli indexEdDB nie jest włączony, jakakolwiek konfiguracja indeksu jest ignorowana.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Instancja Firestore do konfigurowania indeksów.
konfiguracja IndexConfiguration Definicja indeksu.

Zwroty:

Obiecaj <Void>

Promise , która rozwiązuje się po pomyślnym skonfigurowaniu wszystkich indeksów.

Wyjątki

Firestoreerror Jeśli format JSON jest nieprawidłowy.

SetIndexConfiguration (Firestore, Json)

Ten interfejs API jest dostarczany jako podgląd dla programistów i może się zmienić na podstawie otrzymywanych informacji zwrotnych. Nie używaj tego interfejsu API w środowisku produkcyjnym.

Zamiast ręcznie tworzyć indeksy pamięci podręcznej, rozważ użycie enablePersistentCacheIndexAutoCreation() , aby SDK zdecydował, czy utworzyć indeksy pamięci podręcznej dla zapytań działających lokalnie.

Konfiguruje indeksowanie do wykonania lokalnego zapytania. Każda poprzednia konfiguracja indeksu jest zastąpiona. Promise rozwiązuje się po utrzymaniu konfiguracji indeksu.

Same wpisy indeksu są tworzone asynchronicznie. Możesz nadal używać zapytań wymagających indeksowania, nawet jeśli wskaźniki nie są jeszcze dostępne. Wykonywanie zapytania automatycznie zacznie się używać indeksu po napisaniu wpisów indeksu.

Indeksy są obsługiwane tylko z trwałością indexedDB. Ingeluj albo enableIndexedDbPersistence() lub enableMultiTabIndexedDbPersistence() przed ustawieniem konfiguracji indeksu. Jeśli indexEdDB nie jest włączony, jakakolwiek konfiguracja indeksu jest ignorowana.

Metoda akceptuje format JSON eksportowany przez Firebase CLI ( firebase firestore:indexes ). Jeśli format JSON jest nieprawidłowy, ta metoda rzuca błąd.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore Instancja Firestore do konfigurowania indeksów.
json strunowy Format JSON eksportowany przez Firebase CLI.

Zwroty:

Obiecaj <Void>

Promise , która rozwiązuje się po pomyślnym skonfigurowaniu wszystkich indeksów.

Wyjątki

Firestoreerror Jeśli format JSON jest nieprawidłowy.

zakończyć (Firestore)

Kończy dostarczoną instancję Firestore .

Po wywołaniu terminate() można zastosować tylko funkcję clearIndexedDbPersistence() . Każda inna funkcja rzuci FirestoreError .

Aby zrestartować po zakończeniu, utwórz nową instancję FireBasefirestore z getfirestore () .

Zakończenie nie anuluje żadnych oczekujących zapisów, a wszelkie obietnice, które oczekują na odpowiedź serwera, nie zostaną rozwiązane. Jeśli masz włączoną trwałość, następnym razem, gdy uruchomisz tę instancję, wznowią wysłanie tych zapisów na serwer.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore

Zwroty:

Obiecaj <Void>

Promise , która została rozwiązana, gdy instancja została pomyślnie rozwiązana.

WaitForpendingWrites (Firestore)

Czekamy, aż wszystkie obecnie w toku zapisują, że aktywny użytkownik został potwierdzony przez backend.

Zwrócona obietnica natychmiast rozwiązuje, jeśli nie ma żadnych znakomitych zapisów. W przeciwnym razie obietnica czeka na wszystkie wcześniej wydane zapisy (w tym napisane w poprzedniej sesji aplikacji), ale nie czeka na pisze, które zostały dodane po wywołaniu funkcji. Jeśli chcesz poczekać na dodatkowe zapisy, ponownie zadzwoń do waitForPendingWrites() .

Wszelkie zaległe obietnice waitForPendingWrites() są odrzucane podczas zmian użytkowników.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore

Zwroty:

Obiecaj <Void>

Promise , która rozwiązuje się, gdy wszystkie obecnie w toku zostały potwierdzone przez backend.

WriteBatch (Firestore)

Tworzy partię zapisu, używaną do wykonywania wielu zapisów jako pojedynczej operacji atomowej. Maksymalna liczba zapisów dozwolonych w jednym zapisie wynosi 500.

W przeciwieństwie do transakcji, partie zapisu są utrzymywane w trybie offline i dlatego są preferowane, gdy nie musisz kondycjonować zapisów dotyczących danych odczytu.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Firestore

Zwroty:

WriteBatch

WriteBatch , którego można użyć do atomowego wykonywania wielu zapisów.

funkcjonować()

liczyć()

Utwórz obiekt AggregateField, którego można użyć do obliczenia liczby dokumentów w zestawie wyników zapytania.

Podpis:

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

Zwroty:

Aggregatefield <numer>

deletefield ()

Zwraca wartość do użytku z aktualizateC () lub setDoc () z {merge: true} , aby zaznaczyć pole do usunięcia.

Podpis:

export declare function deleteField(): FieldValue;

Zwroty:

Wartość pola

DocumentID ()

Zwraca specjalną FieldPath Sentinel w celu odniesienia się do identyfikatora dokumentu. Można go używać w zapytaniach do sortowania lub filtrowania według identyfikatora dokumentu.

Podpis:

export declare function documentId(): FieldPath;

Zwroty:

Ścieżka polowa

getfirestore ()

Zwraca istniejącą domyślną instancję Firestore , która jest powiązana z domyślnym FireBaseApp . Jeśli nie istnieje żadna instancja, inicjuje nową instancję z ustawieniami domyślnymi.

Podpis:

export declare function getFirestore(): Firestore;

Zwroty:

Firestore

Domyślna instancja Firestore aplikacji domyślnej.

pamięćagergarbageCollector ()

Tworzy instancję MemoryEagerGarbageCollector . Jest to również domyślny kolekcjoner śmieci, chyba że jest on wyraźnie określony inaczej.

Podpis:

export declare function memoryEagerGarbageCollector(): MemoryEagerGarbageCollector;

Zwroty:

MemoryEagergarbageCollector

uptandentMultipletaBManager ()

Tworzy instancję PersistentMultipleTabManager .

Podpis:

export declare function persistentMultipleTabManager(): PersistentMultipleTabManager;

Zwroty:

UptandentMultipletaBManager

servertimestamp ()

Zwraca wartość używaną z setDoc () lub aktualizateC () , aby zawierać znacznik czasu generowanego przez serwer w danych pisemnych.

Podpis:

export declare function serverTimestamp(): FieldValue;

Zwroty:

Wartość pola

funkcja (DatabaseID, ...)

getfirestore (batabaseID)

Ten interfejs API jest dostarczany jako podgląd dla programistów i może się zmienić na podstawie otrzymywanych informacji zwrotnych. Nie używaj tego interfejsu API w środowisku produkcyjnym.

Zwraca istniejącą wymienioną instancję Firestore , która jest powiązana z domyślnym FireBaseApp . Jeśli nie istnieje żadna instancja, inicjuje nową instancję z ustawieniami domyślnymi.

Podpis:

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

Parametry

Parametr Typ Opis
batabaseID strunowy Nazwa bazy danych.

Zwroty:

Firestore

Nazwana instancja Firestore aplikacji domyślnej.

funkcja (elementy, ...)

ArrayRemove (elementy)

Zwraca specjalną wartość, której można użyć z setDoc () lub każe serwerowi usunięcie podanych elementów z dowolnej wartości tablicy, która już istnieje na serwerze. Wszystkie instancje każdego określonego elementu zostaną usunięte z tablicy. If the field being modified is not already an array it will be overwritten with an empty array.

Podpis:

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

Parametry

Parametr Typ Opis
elementy nieznany[] The elements to remove from the array.

Zwroty:

Wartość pola

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

arrayUnion(elements)

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

Podpis:

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

Parametry

Parametr Typ Opis
elementy nieznany[] The elements to union into the array.

Zwroty:

Wartość pola

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

function(field, ...)

average(field)

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

Podpis:

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

Parametry

Parametr Typ Opis
pole ciąg | FieldPath Specifies the field to average across the result set.

Zwroty:

AggregateField <number | null>

sum(field)

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

Podpis:

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

Parametry

Parametr Typ Opis
pole ciąg | FieldPath Specifies the field to sum across the result set.

Zwroty:

AggregateField <numer>

function(fieldPath, ...)

orderBy(fieldPath, directionStr)

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

Podpis:

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

Parametry

Parametr Typ Opis
fieldPath ciąg | FieldPath The field to sort by.
directionStr OrderByDirection Optional direction to sort by ('asc' or 'desc'). If not specified, order will be ascending.

Zwroty:

QueryOrderByConstraint

The created QueryOrderByConstraint .

where(fieldPath, opStr, value)

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

Podpis:

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

Parametry

Parametr Typ Opis
fieldPath ciąg | FieldPath The path to compare
opStr WhereFilterOp The operation string (eg "&lt;", "&lt;=", "==", "&lt;", "&lt;=", "!=").
wartość nieznany The value for comparison

Zwroty:

QueryFieldFilterConstraint

The created QueryFieldFilterConstraint .

function(fieldValues, ...)

endAt(fieldValues)

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

Podpis:

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

Parametry

Parametr Typ Opis
fieldValues nieznany[] The field values to end this query at, in order of the query's order by.

Zwroty:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

endBefore(fieldValues)

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

Podpis:

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

Parametry

Parametr Typ Opis
fieldValues nieznany[] The field values to end this query before, in order of the query's order by.

Zwroty:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

startAfter(fieldValues)

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

Podpis:

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

Parametry

Parametr Typ Opis
fieldValues nieznany[] The field values to start this query after, in order of the query's order by.

Zwroty:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query()

startAt(fieldValues)

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

Podpis:

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

Parametry

Parametr Typ Opis
fieldValues nieznany[] The field values to start this query at, in order of the query's order by.

Zwroty:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query() .

function(indexManager, ...)

deleteAllPersistentCacheIndexes(indexManager)

Removes all persistent cache indexes.

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

Podpis:

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

Parametry

Parametr Typ Opis
indexManager PersistentCacheIndexManager

Zwroty:

próżnia

disablePersistentCacheIndexAutoCreation(indexManager)

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

Podpis:

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

Parametry

Parametr Typ Opis
indexManager PersistentCacheIndexManager

Zwroty:

próżnia

enablePersistentCacheIndexAutoCreation(indexManager)

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

Ta funkcja jest domyślnie wyłączona.

Podpis:

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

Parametry

Parametr Typ Opis
indexManager PersistentCacheIndexManager

Zwroty:

próżnia

function(left, ...)

aggregateFieldEqual(left, right)

Compares two 'AggregateField ` instances for equality.

Podpis:

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

Parametry

Parametr Typ Opis
lewy AggregateField <unknown> Compare this AggregateField to the right .
Prawidłowy AggregateField <unknown> Compare this AggregateField to the left .

Zwroty:

wartość logiczna

aggregateQuerySnapshotEqual(left, right)

Compares two AggregateQuerySnapshot instances for equality.

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

Podpis:

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

Parametry

Parametr Typ Opis
lewy AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType> The first AggregateQuerySnapshot to compare.
Prawidłowy AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType> The second AggregateQuerySnapshot to compare.

Zwroty:

wartość logiczna

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

queryEqual(left, right)

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

Podpis:

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

Parametry

Parametr Typ Opis
lewy Zapytanie <AppModelType, DbModelType> A Query to compare.
Prawidłowy Zapytanie <AppModelType, DbModelType> A Query to compare.

Zwroty:

wartość logiczna

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

refEqual(left, right)

Returns true if the provided references are equal.

Podpis:

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

Parametry

Parametr Typ Opis
lewy Odnośnik do dokumentu <AppModelType, DbModelType> | CollectionReference <AppModelType, DbModelType> A reference to compare.
Prawidłowy Odnośnik do dokumentu <AppModelType, DbModelType> | CollectionReference <AppModelType, DbModelType> A reference to compare.

Zwroty:

wartość logiczna

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

snapshotEqual(left, right)

Returns true if the provided snapshots are equal.

Podpis:

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

Parametry

Parametr Typ Opis
lewy DocumentSnapshot <AppModelType, DbModelType> | QuerySnapshot <AppModelType, DbModelType> A snapshot to compare.
Prawidłowy DocumentSnapshot <AppModelType, DbModelType> | QuerySnapshot <AppModelType, DbModelType> A snapshot to compare.

Zwroty:

wartość logiczna

true if the snapshots are equal.

function(limit, ...)

limit(limit)

Creates a QueryLimitConstraint that only returns the first matching documents.

Podpis:

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

Parametry

Parametr Typ Opis
limit numer The maximum number of items to return.

Zwroty:

QueryLimitConstraint

The created QueryLimitConstraint .

limitToLast(limit)

Creates a QueryLimitConstraint that only returns the last matching documents.

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

Podpis:

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

Parametry

Parametr Typ Opis
limit numer The maximum number of items to return.

Zwroty:

QueryLimitConstraint

The created QueryLimitConstraint .

function(logLevel, ...)

setLogLevel(logLevel)

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

Podpis:

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

Parametry

Parametr Typ Opis
poziom dziennika LogLevel The verbosity you set for activity and error logging. Can be any of the following values:
  • debug for the most verbose logging level, primarily for debugging.
  • error to log errors only.
  • silent to turn off logging.

Zwroty:

próżnia

function(n, ...)

increment(n)

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

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

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

Podpis:

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

Parametry

Parametr Typ Opis
N numer The value to increment by.

Zwroty:

Wartość pola

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

function(query, ...)

getAggregateFromServer(query, aggregateSpec)

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

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

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

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType> The query whose result set is aggregated over.
aggregateSpec AggregateSpecType An AggregateSpec object that specifies the aggregates to perform over the result set. The AggregateSpec specifies aliases for each aggregate, which can be used to retrieve the aggregate result.

Zwroty:

Promise< AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType>>

Przykład

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

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

getCountFromServer(query)

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

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

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

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType> The query whose result set size is calculated.

Zwroty:

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

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

getDocs(query)

Executes the query and returns the results as a QuerySnapshot .

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType>

Zwroty:

Promise< QuerySnapshot <AppModelType, DbModelType>>

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

getDocsFromCache(query)

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

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType>

Zwroty:

Promise< QuerySnapshot <AppModelType, DbModelType>>

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

getDocsFromServer(query)

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

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType>

Zwroty:

Promise< QuerySnapshot <AppModelType, DbModelType>>

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

onSnapshot(query, observer)

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

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

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType> The query to listen to.
obserwator { next?: (snapshot: QuerySnapshot <AppModelType, DbModelType>) => void; error?: (error: FirestoreError ) => void; complete?: () => void; } A single object containing next and error callbacks.

Zwroty:

Zrezygnuj z subskrypcji

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

onSnapshot(query, options, observer)

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

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

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType> The query to listen to.
opcje SnapshotListenOptions Options controlling the listen behavior.
obserwator { next?: (snapshot: QuerySnapshot <AppModelType, DbModelType>) => void; error?: (error: FirestoreError ) => void; complete?: () => void; } A single object containing next and error callbacks.

Zwroty:

Zrezygnuj z subskrypcji

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

onSnapshot(query, onNext, onError, onCompletion)

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

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

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType> The query to listen to.
onNext (snapshot: QuerySnapshot <AppModelType, DbModelType>) => void A callback to be called every time a new QuerySnapshot is available.
onError (error: FirestoreError ) => void A callback to be called if the listen fails or is cancelled. No further callbacks will occur.
po zakończeniu () => void Can be provided, but will not be called since streams are never ending.

Zwroty:

Zrezygnuj z subskrypcji

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

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

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

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

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType> The query to listen to.
opcje SnapshotListenOptions Options controlling the listen behavior.
onNext (snapshot: QuerySnapshot <AppModelType, DbModelType>) => void A callback to be called every time a new QuerySnapshot is available.
onError (error: FirestoreError ) => void A callback to be called if the listen fails or is cancelled. No further callbacks will occur.
po zakończeniu () => void Can be provided, but will not be called since streams are never ending.

Zwroty:

Zrezygnuj z subskrypcji

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

query(query, compositeFilter, queryConstraints)

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

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType> The Query instance to use as a base for the new constraints.
compositeFilter QueryCompositeFilterConstraint The QueryCompositeFilterConstraint to apply. Create QueryCompositeFilterConstraint using and() or or() .
queryConstraints QueryNonFilterConstraint [] Additional QueryNonFilterConstraint s to apply (eg orderBy() , limit() ).

Zwroty:

Zapytanie <AppModelType, DbModelType>

Wyjątki

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

query(query, queryConstraints)

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

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType> The Query instance to use as a base for the new constraints.
queryConstraints QueryConstraint [] The list of QueryConstraint s to apply.

Zwroty:

Zapytanie <AppModelType, DbModelType>

Wyjątki

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

function(queryConstraints, ...)

and(queryConstraints)

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

Podpis:

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

Parametry

Parametr Typ Opis
queryConstraints QueryFilterConstraint [] Opcjonalny. The list of QueryFilterConstraint s to perform a conjunction for. These must be created with calls to where() , Lub() , albo i() .

Zwroty:

QueryCompositeFilterConstraint

The newly created QueryCompositeFilterConstraint .

or(queryConstraints)

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

Podpis:

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

Parametry

Parametr Typ Opis
queryConstraints QueryFilterConstraint [] Opcjonalny. The list of QueryFilterConstraint s to perform a disjunction for. These must be created with calls to where() , Lub() , albo i() .

Zwroty:

QueryCompositeFilterConstraint

The newly created QueryCompositeFilterConstraint .

function(reference, ...)

addDoc(reference, data)

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie CollectionReference <AppModelType, DbModelType> A reference to the collection to add this document to.
dane WithFieldValue <AppModelType> An Object containing the data for the new document.

Zwroty:

Promise< DocumentReference <AppModelType, DbModelType>>

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

collection(reference, path, pathSegments)

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie CollectionReference <AppModelType, DbModelType> A reference to a collection.
ścieżka strunowy A slash-separated path to a collection.
pathSegments strunowy[] Additional path segments to apply relative to the first argument.

Zwroty:

CollectionReference < DocumentData , DocumentData >

The CollectionReference instance.

Wyjątki

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

collection(reference, path, pathSegments)

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to a Firestore document.
ścieżka strunowy A slash-separated path to a collection.
pathSegments strunowy[] Additional path segments that will be applied relative to the first argument.

Zwroty:

CollectionReference < DocumentData , DocumentData >

The CollectionReference instance.

Wyjątki

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

deleteDoc(reference)

Deletes the document referred to by the specified DocumentReference .

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to the document to delete.

Zwroty:

Promise<void>

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

doc(reference, path, pathSegments)

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie CollectionReference <AppModelType, DbModelType> A reference to a collection.
ścieżka strunowy A slash-separated path to a document. Has to be omitted to use auto-genrated IDs.
pathSegments strunowy[] Additional path segments that will be applied relative to the first argument.

Zwroty:

Odnośnik do dokumentu <AppModelType, DbModelType>

The DocumentReference instance.

Wyjątki

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

doc(reference, path, pathSegments)

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to a Firestore document.
ścieżka strunowy A slash-separated path to a document.
pathSegments strunowy[] Additional path segments that will be applied relative to the first argument.

Zwroty:

Odnośnik do dokumentu < DocumentData , DocumentData >

The DocumentReference instance.

Wyjątki

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

getDoc(reference)

Reads the document referred to by this DocumentReference .

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> The reference of the document to fetch.

Zwroty:

Promise< DocumentSnapshot <AppModelType, DbModelType>>

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

getDocFromCache(reference)

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType>

Zwroty:

Promise< DocumentSnapshot <AppModelType, DbModelType>>

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

getDocFromServer(reference)

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType>

Zwroty:

Promise< DocumentSnapshot <AppModelType, DbModelType>>

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

onSnapshot(reference, observer)

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

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to the document to listen to.
obserwator { next?: (snapshot: DocumentSnapshot <AppModelType, DbModelType>) => void; error?: (error: FirestoreError ) => void; complete?: () => void; } A single object containing next and error callbacks.

Zwroty:

Zrezygnuj z subskrypcji

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

onSnapshot(reference, options, observer)

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

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to the document to listen to.
opcje SnapshotListenOptions Options controlling the listen behavior.
obserwator { next?: (snapshot: DocumentSnapshot <AppModelType, DbModelType>) => void; error?: (error: FirestoreError ) => void; complete?: () => void; } A single object containing next and error callbacks.

Zwroty:

Zrezygnuj z subskrypcji

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

onSnapshot(reference, onNext, onError, onCompletion)

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

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to the document to listen to.
onNext (snapshot: DocumentSnapshot <AppModelType, DbModelType>) => void A callback to be called every time a new DocumentSnapshot is available.
onError (error: FirestoreError ) => void A callback to be called if the listen fails or is cancelled. No further callbacks will occur.
po zakończeniu () => void Can be provided, but will not be called since streams are never ending.

Zwroty:

Zrezygnuj z subskrypcji

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

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

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

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to the document to listen to.
opcje SnapshotListenOptions Options controlling the listen behavior.
onNext (snapshot: DocumentSnapshot <AppModelType, DbModelType>) => void A callback to be called every time a new DocumentSnapshot is available.
onError (error: FirestoreError ) => void A callback to be called if the listen fails or is cancelled. No further callbacks will occur.
po zakończeniu () => void Can be provided, but will not be called since streams are never ending.

Zwroty:

Zrezygnuj z subskrypcji

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

setDoc(reference, data)

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to the document to write.
dane WithFieldValue <AppModelType> A map of the fields and values for the document.

Zwroty:

Promise<void>

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

setDoc(reference, data, options)

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to the document to write.
dane PartialWithFieldValue <AppModelType> A map of the fields and values for the document.
opcje SetOptions An object to configure the set behavior.

Zwroty:

Promise<void>

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

updateDoc(reference, data)

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to the document to update.
dane Aktualizować dane <DbModelType> An object containing the fields and values with which to update the document. Fields can contain dots to reference nested fields within the document.

Zwroty:

Promise<void>

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

updateDoc(reference, field, value, moreFieldsAndValues)

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

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

Podpis:

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

Parametry

Parametr Typ Opis
odniesienie Odnośnik do dokumentu <AppModelType, DbModelType> A reference to the document to update.
pole ciąg | FieldPath The first field to update.
wartość nieznany The first value.
moreFieldsAndValues nieznany[] Additional key value pairs.

Zwroty:

Promise<void>

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

function(settings, ...)

memoryLocalCache(settings)

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

Podpis:

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

Parametry

Parametr Typ Opis
ustawienia MemoryCacheSettings

Zwroty:

MemoryLocalCache

memoryLruGarbageCollector(settings)

Creates an instance of MemoryLruGarbageCollector .

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

Podpis:

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

Parametry

Parametr Typ Opis
ustawienia { cacheSizeBytes?: number; }

Zwroty:

MemoryLruGarbageCollector

persistentLocalCache(settings)

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

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

Podpis:

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

Parametry

Parametr Typ Opis
ustawienia PersistentCacheSettings

Zwroty:

PersistentLocalCache

persistentSingleTabManager(settings)

Creates an instance of PersistentSingleTabManager .

Podpis:

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

Parametry

Parametr Typ Opis
ustawienia PersistentSingleTabManagerSettings | nieokreślony Configures the created tab manager.

Zwroty:

PersistentSingleTabManager

function(snapshot, ...)

endAt(snapshot)

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

Podpis:

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

Parametry

Parametr Typ Opis
migawka DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to end at.

Zwroty:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

endBefore(snapshot)

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

Podpis:

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

Parametry

Parametr Typ Opis
migawka DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to end before.

Zwroty:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

startAfter(snapshot)

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

Podpis:

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

Parametry

Parametr Typ Opis
migawka DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to start after.

Zwroty:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query()

startAt(snapshot)

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

Podpis:

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

Parametry

Parametr Typ Opis
migawka DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to start at.

Zwroty:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query() .

CACHE_SIZE_UNLIMITED

Constant used to indicate the LRU garbage collection should be disabled. Set this value as the cacheSizeBytes on the settings passed to the Firestore instance.

Podpis:

CACHE_SIZE_UNLIMITED = -1

AddPrefixToKeys

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

Podpis:

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

AggregateFieldType

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

Podpis:

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

AggregateSpecData

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

Podpis:

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

AggregateType

Union type representing the aggregate type to be performed.

Podpis:

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

ChildUpdateFields

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

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

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

Podpis:

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

DocumentChangeType

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

Podpis:

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

FirestoreErrorCode

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

Possible values: - 'cancelled': The operation was cancelled (typically by the caller). - 'unknown': Unknown error or an error from a different error domain. - 'invalid-argument': Client specified an invalid argument. Note that this differs from 'failed-precondition'. 'invalid-argument' indicates arguments that are problematic regardless of the state of the system (eg an invalid field name). - 'deadline-exceeded': Deadline expired before operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. - 'not-found': Some requested document was not found. - 'already-exists': Some document that we attempted to create already exists. - 'permission-denied': The caller does not have permission to execute the specified operation. - 'resource-exhausted': Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. - 'failed-precondition': Operation was rejected because the system is not in a state required for the operation's execution. - 'aborted': The operation was aborted, typically due to a concurrency issue like transaction aborts, etc. - 'out-of-range': Operation was attempted past the valid range. - 'unimplemented': Operation is not implemented or not supported/enabled. - 'internal': Internal errors. Means some invariants expected by underlying system has been broken. If you see one of these errors, something is very broken. - 'unavailable': The service is currently unavailable. This is most likely a transient condition and may be corrected by retrying with a backoff. - 'data-loss': Unrecoverable data loss or corruption. - 'unauthenticated': The request does not have valid authentication credentials for the operation.

Podpis:

export declare type FirestoreErrorCode = 'cancelled' | 'unknown' | 'invalid-argument' | 'deadline-exceeded' | 'not-found' | 'already-exists' | 'permission-denied' | 'resource-exhausted' | 'failed-precondition' | 'aborted' | 'out-of-range' | 'unimplemented' | 'internal' | 'unavailable' | 'data-loss' | 'unauthenticated';

FirestoreLocalCache

Union type from all supported SDK cache layer.

Podpis:

export declare type FirestoreLocalCache = MemoryLocalCache | PersistentLocalCache;

ListenSource

Describe the source a query listens to.

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

Podpis:

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

MemoryGarbageCollector

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

Podpis:

export declare type MemoryGarbageCollector = MemoryEagerGarbageCollector | MemoryLruGarbageCollector;

NestedUpdateFields

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

Podpis:

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

OrderByDirection

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

Podpis:

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

PartialWithFieldValue

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

Podpis:

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

PersistentTabManager

A union of all available tab managers.

Podpis:

export declare type PersistentTabManager = PersistentSingleTabManager | PersistentMultipleTabManager;

Prymitywny

Primitive types.

Podpis:

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

QueryConstraintType

Describes the different query constraints available in this SDK.

Podpis:

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

QueryFilterConstraint

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

Podpis:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

QueryNonFilterConstraint

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

Podpis:

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

SetOptions

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

Podpis:

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

TaskState

Represents the state of bundle loading tasks.

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

Podpis:

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

UnionToIntersection

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

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

Podpis:

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

Aktualizować dane

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

Podpis:

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

WhereFilterOp

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

Podpis:

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

WithFieldValue

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

Podpis:

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