@firebase/firestore/lite

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ą instancję Firestore powiązaną z dostarczoną aplikacją FirebaseApp . Jeśli nie istnieje żadna instancja, inicjuje nową instancję z ustawieniami domyślnymi.
zainicjujFirestore(aplikacja, ustawienia) Inicjuje nową instancję Cloud Firestore z podanymi ustawieniami. Można wywołać tylko przed innymi funkcjami, w tym getFirestore() . Jeśli ustawienia niestandardowe są puste, ta funkcja jest równoważna wywołaniu metody getFirestore() .
zainicjujFirestore(aplikacja, ustawienia, identyfikator bazy danych) (BETA) Inicjuje nową instancję Cloud Firestore z podanymi ustawieniami. Można wywołać tylko przed innymi funkcjami, w tym getFirestore() . Jeśli ustawienia niestandardowe są puste, ta funkcja jest równoważna wywołaniu metody getFirestore() .
funkcja (firestore, ...)
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.
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.
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.
zakończyć (firestore) Kończy podaną instancję Firestore . Po wywołaniu terminate() można używać wyłącznie funkcji clearIndexedDbPersistence() . Każda inna funkcja zgłosi FirestoreError . Zakończenie nie anuluje żadnych oczekujących zapisów, a wszelkie obietnice oczekujące na odpowiedź z serwera nie zostaną rozpatrzone. Aby ponownie uruchomić po zakończeniu, utwórz nową instancję Firestore za pomocą getFirestore() . Uwaga: W normalnych okolicznościach wywołanie terminate() nie jest wymagane. Ta funkcja jest użyteczna tylko wtedy, gdy chcesz wymusić zwolnienie wszystkich zasobów tej instancji lub w połączeniu z funkcją clearIndexedDbPersistence() w celu zapewnienia zniszczenia całego stanu lokalnego pomiędzy uruchomieniami testowymi.
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. Wynik tych zapisów zostanie odzwierciedlony tylko w odczytach dokumentów, które nastąpią po rozpatrzeniu zwróconej obietnicy. Jeśli klient jest w trybie offline, zapis nie powiedzie się. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore.
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.
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ą 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 (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, ...)
getAggregate(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).
getCount(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).
getDocs(zapytanie) Wykonuje zapytanie i zwraca wyniki jako QuerySnapshot . Wszystkie zapytania są wykonywane bezpośrednio przez serwer, nawet jeśli zapytanie zostało wcześniej wykonane. Ostatnie modyfikacje są odzwierciedlane w pobranych wynikach tylko wtedy, gdy zostały już zastosowane przez backend. Jeśli klient jest w trybie offline, operacja kończy się niepowodzeniem. Aby zobaczyć wcześniej zapisane w pamięci podręcznej wyniki i lokalne modyfikacje, użyj pełnego pakietu SDK Firestore.
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. Wynik tego zapisu zostanie odzwierciedlony tylko w odczytach dokumentów, które nastąpią po rozpatrzeniu zwróconej obietnicy. Jeśli klient jest w trybie offline, zapis nie powiedzie się. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore.
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 . Usunięcie zostanie odzwierciedlone tylko w odczytach dokumentów, które nastąpią po rozpatrzeniu zwróconej obietnicy. Jeśli klient jest w trybie offline, usunięcie nie powiedzie się. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore.
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ę określone odwołanie do dokumentu. Wszystkie dokumenty są pobierane bezpośrednio z serwera, nawet jeśli dokument był wcześniej czytany lub modyfikowany. Ostatnie modyfikacje są odzwierciedlane w pobranym DocumentSnapshot tylko wtedy, gdy zostały już zastosowane przez backend. Jeśli klient jest w trybie offline, odczyt nie powiedzie się. Jeśli chcesz korzystać z buforowania lub widzieć lokalne modyfikacje, skorzystaj z pełnego pakietu SDK Firestore.
setDoc(odniesienie, dane) Zapisuje w dokumencie, do którego odwołuje się określony DocumentReference . Jeśli dokument jeszcze nie istnieje, zostanie utworzony. Wynik tego zapisu zostanie odzwierciedlony tylko w odczytach dokumentów, które nastąpią po rozpatrzeniu zwróconej obietnicy. Jeśli klient jest w trybie offline, zapis nie powiedzie się. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore.
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. Wynik tego zapisu zostanie odzwierciedlony tylko w odczytach dokumentów, które nastąpią po rozpatrzeniu zwróconej obietnicy. Jeśli klient jest w trybie offline, zapis nie powiedzie się. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore.
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. Wynik tej aktualizacji zostanie odzwierciedlony tylko w odczytach dokumentów, które nastąpią po rozpatrzeniu zwróconej obietnicy. Jeśli klient jest w trybie offline, aktualizacja nie powiedzie się. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore.
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 . Wynik tej aktualizacji zostanie odzwierciedlony tylko w odczytach dokumentów, które nastąpią po rozpatrzeniu zwróconej obietnicy. Jeśli klient jest w trybie offline, aktualizacja nie powiedzie się. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore.
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].
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ą tworzone przez wywołanie OrderBy() i można je następnie przekazać do query() w celu utworzenia nowej instancji zapytania, która również zawiera tę QueryOrderByConstraint . Uwaga: Dokumenty niezawierające pola OrderBy nie pojawią się w wyniku zapytania.
Zrzut zapytania Obiekt QuerySnapshot zawiera zero lub więcej obiektów DocumentSnapshot reprezentujących wyniki zapytania. Dostęp do dokumentów można uzyskać w postaci tablicy za pomocą właściwości docs lub wyliczyć za pomocą metody forEach . Liczbę dokumentów można określić za pomocą właściwości empty i size .
ZapytanieStartAtConstraint QueryStartAtConstraint służy do wykluczania dokumentów z początku zestawu wyników zwróconego przez zapytanie Firestore. QueryStartAtConstraint są tworzone przez wywołanie startAt() lub startAfter() i można je następnie przekazać do query() w celu utworzenia nowej instancji zapytania, która również zawiera tę QueryStartAtConstraint .
Znak czasu Timestamp reprezentuje punkt w czasie niezależny od jakiejkolwiek strefy czasowej lub kalendarza, reprezentowany jako sekundy i ułamki sekund z rozdzielczością nanosekundową w czasie UTC Epoch. Jest kodowany przy użyciu proleptycznego kalendarza gregoriańskiego, który rozciąga kalendarz gregoriański wstecz do pierwszego roku. Jest kodowany przy założeniu, że wszystkie minuty trwają 60 sekund, tj. sekundy przestępne są „rozmazane”, tak że do interpretacji nie jest potrzebna tablica sekund przestępnych. Zakres wynosi od 0001-01-01T00:00:00Z do 9999-12-31T23:59:59.999999999Z. Przykłady i dalsze specyfikacje można znaleźć w definicji znacznika czasu .
Transakcja Odniesienie do transakcji. Obiekt Transaction przekazany do updateFunction transakcji udostępnia metody odczytu i zapisu danych w kontekście transakcji. Zobacz runTransaction() .
Napisz wsadowo Partia zapisu używana do wykonywania wielu zapisów jako pojedynczej jednostki atomowej. Obiekt WriteBatch można uzyskać, wywołując funkcję writeBatch() . Zapewnia metody dodawania zapisów do partii zapisu. Żaden z zapisów nie zostanie zatwierdzony (ani widoczny lokalnie) do czasu wywołania funkcji WriteBatch.commit() .

Interfejsy

Interfejs Opis
Specyfikacja zbiorcza Określa zestaw agregacji i ich aliasy.
Dane dokumentu Dane dokumentu (do użytku z setDoc() ) składa się z pól odwzorowanych na wartości.
Konwerter danych Firestore Konwerter używany przez withConverter() do przekształcania obiektów użytkownika typu AppModelType w dane Firestore 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 spakowania powiązanych informacji i funkcjonalności. Taka klasa może na przykład mieć właściwości ze złożonymi, zagnieżdżonymi typami danych, właściwości używane do zapamiętywania, właściwości typów nieobsługiwanych przez Firestore (takie jak symbol i bigint ) oraz funkcje pomocnicze, które wykonują operacje złożone. Takie klasy nie są odpowiednie i/lub możliwe do przechowywania w bazie danych Firestore. Zamiast tego instancje takich klas należy skonwertować na „zwykłe, stare obiekty JavaScript” (POJO) z wyłącznie prymitywnymi właściwościami, potencjalnie zagnieżdżonymi w innych obiektach POJO lub tablicach POJO. W tym kontekście ten typ jest określany jako „DbModel” i byłby obiektem odpowiednim do utrwalenia w Firestore. Dla wygody aplikacje mogą zaimplementować FirestoreDataConverter i zarejestrować konwerter w obiektach Firestore, takich jak DocumentReference lub Query , aby automatycznie konwertować AppModel na DbModel podczas przechowywania w Firestore i konwertować DbModel na AppModel podczas pobierania z Firestore.
Ustawienia Określa niestandardowe konfiguracje instancji Cloud Firestore. Należy je ustawić przed wywołaniem jakichkolwiek innych metod.
Opcje transakcji Opcje dostosowywania zachowania transakcji.

Wpisz aliasy

Wpisz Alias Opis
DodajPrefixToKeys Zwraca nową mapę, w której każdy klucz jest poprzedzony kluczem zewnętrznym dołączonym do kropki.
Typ pola zbiorczego Połączenie wszystkich typów AggregateField obsługiwanych przez Firestore.
Zagregowane dane specyfikacji Typ, którego klucze są pobierane z AggregateSpec i którego wartości są wynikiem agregacji wykonanej przez odpowiedni AggregateField z danych wejściowych AggregateSpec .
Typ agregatu Typ unii reprezentujący typ agregatu, który ma zostać wykonany.
Pola aktualizacji dziecka Pomocnik do obliczania pól zagnieżdżonych dla danego typu T1. Jest to potrzebne do dystrybucji typów unii, takich jak undefined | {...} (dzieje się to w przypadku opcjonalnych rekwizytów) lub {a: A} | {b: B} . W tym przypadku użycia V służy do dystrybucji typów unii T[K] w Record , ponieważ T[K] jest oceniane jako wyrażenie i nie jest rozdzielane. Zobacz https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types
Kod błędu Firestore Zestaw kodów stanu Firestore. Kody są takie same jak te ujawnione przez gRPC tutaj: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md Możliwe wartości: - 'cancelled': Operacja została anulowana (zwykle przez osobę wywołującą). - „nieznany”: Nieznany błąd lub błąd z innej domeny błędów. - 'invalid-argument': Klient podał nieprawidłowy argument. Należy pamiętać, że różni się to od „nieudanego warunku wstępnego”. „nieprawidłowy argument” wskazuje argumenty, które są problematyczne niezależnie od stanu systemu (np. nieprawidłowa nazwa pola). - „przekroczony termin”: Termin upłynął przed zakończeniem operacji. W przypadku operacji zmieniających 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ź z serwera mogła zostać opóźniona wystarczająco długo, aby upłynął termin. - 'not-found': Nie znaleziono żądanego dokumentu. - „już istnieje”: jakiś dokument, który próbowaliśmy utworzyć, już istnieje. - „Odmowa uprawnień”: Osoba wywołująca nie ma uprawnień do wykonania określonej operacji. - 'zasoby wyczerpane': Niektóre zasoby zostały wyczerpane, być może przydział przypadający na użytkownika lub być może w całym systemie plików zabrakło miejsca. - 'failed-condition': Operacja została odrzucona, ponieważ system nie jest w stanie wymaganym do wykonania operacji. - „przerwano”: operacja została przerwana, zazwyczaj z powodu problemu ze współbieżnością, np. przerwania transakcji itp. - „poza zakresem”: podjęto próbę wykonania operacji poza prawidłowym zakresem. - „niezaimplementowane”: Operacja nie jest zaimplementowana lub nie jest obsługiwana/włączona. - „wewnętrzny”: Błędy wewnętrzne. Oznacza, że ​​niektóre niezmienniki oczekiwane przez system bazowy zostały uszkodzone. Jeśli widzisz jeden z tych błędów, coś jest bardzo uszkodzone. - 'niedostępny': Usługa jest chwilowo niedostępna. Jest to najprawdopodobniej stan przejściowy i można go skorygować, ponawiając próbę z wycofywaniem. - „utrata danych”: nieodwracalna utrata lub uszkodzenie danych. - „nieuwierzytelnione”: żądanie nie zawiera ważnych danych uwierzytelniających dla operacji.
Zagnieżdżone pola aktualizacji Dla każdego pola (np. „pasek”) znajdź wszystkie zagnieżdżone klucze (np. { „bar.baz”: T1, „bar.qux”: T2 } ). Przetnij je razem, aby utworzyć pojedynczą mapę zawierającą wszystkie możliwe klucze, które są oznaczone jako opcjonalne
Zamówienie według kierunku Kierunek klauzuli OrderBy() jest określony jako „desc” lub „asc” (malejąco lub rosnąco).
Częściowe z wartością pola Podobny do Partial<T> Typescript, ale umożliwia pominięcie zagnieżdżonych pól i przekazanie FieldValues ​​jako wartości właściwości.
Prymitywny Typy pierwotne.
Typ ograniczenia zapytania Opisuje różne ograniczenia zapytań dostępne w tym zestawie SDK.
Ograniczenie filtra zapytania QueryFilterConstraint to pomocniczy typ unii reprezentujący QueryFieldFilterConstraint i QueryCompositeFilterConstraint .
ZapytanieNonFilterConstraint QueryNonFilterConstraint to pomocniczy typ unii reprezentujący QueryConstraints, które służą do zawężania lub porządkowania zestawu dokumentów, ale które nie filtrują jawnie według pola dokumentu. QueryNonFilterConstraint są tworzone przez wywołanie OrderBy() , zacznij od() , rozpocznijPo() , koniecPrzed() , koniecAt() , limit() lub limitToLast() i można je następnie przekazać do query() w celu utworzenia nowej instancji zapytania zawierającej również QueryConstraint .
UstawOpcje Obiekt opcji, który konfiguruje zachowanie setDoc() i dzwoni. Wywołania te można skonfigurować tak, aby wykonywały szczegółowe scalanie zamiast zastępowania całości dokumentów docelowych, udostępniając opcję SetOptions z merge: true .
UnionToIntersection Biorąc pod uwagę typ unii U = T1 | T2 | ... zwraca typ przecięty (T1 & T2 & ...) . Używa dystrybutywnych typów warunkowych i wnioskowania na podstawie typów warunkowych. Działa to, ponieważ wielu kandydatów na zmienną tego samego typu na pozycjach kontrawariantnych powoduje wywnioskowanie typu przecięcia. 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
Aktualizować dane Aktualizuj dane (do użytku z updateDoc() ) składający się ze ścieżek pól (np. „foo” lub „foo.baz”) odwzorowanych na wartości. Pola zawierające kropki odnoszą się do pól zagnieżdżonych w dokumencie. FieldValues ​​można przekazywać jako wartości właściwości.
GdzieFiltrOp Warunki filtrowania w klauzuli Where() są określane przy użyciu ciągów znaków „&lt;”, „&lt;=”, „==”, „!=”, „&gt;=”, „&gt;”, „tablica-zawiera” , „in”, „tablica-zawiera-dowolne” i „nie-w”.
Z wartością pola Umożliwia przekazywanie wartości pól jako wartości właściwości przy zachowaniu bezpieczeństwa typów.

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.

Podpis:

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

Parametry

Parametr Typ Opis
aplikacja Aplikacja Firebase Instancja FirebaseApp , z którą powiązana jest zwrócona instancja Firestore .

Zwroty:

Sklep z ogniem

Instancja Firestore dostarczonej aplikacji.

getFirestore(aplikacja, identyfikator bazy danych)

Ten interfejs API jest udostępniany jako wersja zapoznawcza dla programistów i może ulec zmianie w zależności od otrzymanych opinii. Nie używaj tego interfejsu API w środowisku produkcyjnym.

Zwraca istniejącą instancję Firestore powiązaną z podaną aplikacją 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 Aplikacja Firebase Instancja FirebaseApp , z którą powiązana jest zwrócona instancja Firestore .
identyfikator bazy danych strunowy Nazwa bazy danych.

Zwroty:

Sklep z ogniem

Instancja Firestore dostarczonej aplikacji.

zainicjujFirestore(aplikacja, ustawienia)

Inicjuje nową instancję Cloud Firestore z podanymi ustawieniami. Można wywołać tylko przed innymi funkcjami, w tym getFirestore() . Jeśli ustawienia niestandardowe są puste, ta funkcja jest równoważna wywołaniu metody getFirestore() .

Podpis:

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

Parametry

Parametr Typ Opis
aplikacja Aplikacja Firebase Aplikacja FirebaseApp , z którą zostanie powiązana instancja Firestore .
ustawienia Ustawienia Obiekt ustawień służący do konfigurowania instancji Firestore .

Zwroty:

Sklep z ogniem

Nowo zainicjowana instancja Firestore .

zainicjujFirestore(aplikacja, ustawienia, identyfikator bazy danych)

Ten interfejs API jest udostępniany jako wersja zapoznawcza dla programistów i może ulec zmianie w zależności od otrzymanych opinii. Nie używaj tego interfejsu API w środowisku produkcyjnym.

Inicjuje nową instancję Cloud Firestore z podanymi ustawieniami. Można wywołać tylko przed innymi funkcjami, w tym getFirestore() . Jeśli ustawienia niestandardowe są puste, ta funkcja jest równoważna wywołaniu funkcji getFirestore() .

Podpis:

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

Parametry

Parametr Typ Opis
aplikacja Aplikacja Firebase Aplikacja FirebaseApp , z którą zostanie powiązana instancja Firestore .
ustawienia Ustawienia Obiekt ustawień służący do konfigurowania instancji Firestore .
identyfikator bazy danych strunowy Nazwa bazy danych.

Zwroty:

Sklep z ogniem

Nowo zainicjowana instancja Firestore .

funkcja (firestore, ...)

kolekcja (firestore, ścieżka, pathSegments)

Pobiera wystąpienie CollectionReference , które odwołuje się do kolekcji w określonej ścieżce bezwzględnej.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Sklep z ogniem Odniesienie do głównej instancji Firestore .
ścieżka strunowy Ścieżka oddzielona ukośnikiem do kolekcji.
Segmenty ścieżki strunowy[] Dodatkowe segmenty ścieżki do zastosowania względem pierwszego argumentu.

Zwroty:

KolekcjaReferencja < Dane dokumentu , Dane dokumentu >

Instancja CollectionReference .

Wyjątki

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

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 .

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Sklep z ogniem Odniesienie do głównej instancji Firestore .
identyfikator kolekcji strunowy Identyfikuje kolekcje, dla których ma zostać wykonane zapytanie. 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 Sklep z ogniem 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

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 Sklep z ogniem 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.

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 Sklep z ogniem 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.

zakończyć (Firestore)

Kończy dostarczoną instancję Firestore .

Po wywołaniu terminate() można zastosować tylko funkcje clearIndexedDbPersistence() . Każda inna funkcja rzuci FirestoreError . Zakończenie nie anuluje żadnych oczekujących zapisów, a wszelkie obietnice, które oczekują na odpowiedź serwera, nie zostaną rozwiązane.

Aby zrestartować po wypowiedzeniu, utwórz nową instancję Firestore z getfirestore () .

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Sklep z ogniem Instancja Firestore do zakończenia.

Zwroty:

Obiecaj <Void>

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

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.

Wynik tych zapisów zostanie odzwierciedlony tylko w odczytach dokumentów, które występują po zwróconej obietnicy. Jeśli klient jest w trybie offline, zapis zawiedzie. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy bufora, dopóki klient nie będzie online, skorzystaj z pełnego SDK Firestore.

Podpis:

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

Parametry

Parametr Typ Opis
sklep z ogniem Sklep z ogniem

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 pola

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:

Sklep z ogniem

Instancja Firestore dostarczonej aplikacji.

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ą 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:

Sklep z ogniem

Instancja Firestore dostarczonej aplikacji.

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. Jeśli modyfikowane pole nie jest jeszcze tablicą, zostanie zastąpiona pustą tablicą.

Podpis:

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

Parametry

Parametr Typ Opis
elementy nieznany[] Elementy do usunięcia z tablicy.

Zwroty:

Wartość pola

FieldValue Sentinel do użycia w wywołaniu setDoc() lub updateDoc()

Arrayunion (elementy)

Zwraca specjalną wartość, której można użyć z setDoc () lub aktualizateC () , która informuje serwer do połączenia danych elementów z dowolną wartością tablicy, która już istnieje na serwerze. Każdy określony element, który już nie istnieje w tablicy, zostanie dodany do końca. Jeśli modyfikowane pole nie jest jeszcze tablicą, zostanie zastąpiona tablicą zawierającą dokładnie określone elementy.

Podpis:

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

Parametry

Parametr Typ Opis
elementy nieznany[] Elementy do związków w tablicy.

Zwroty:

Wartość pola

FieldValue Sentinel do użycia w wywołaniu setDoc() lub updateDoc() .

funkcja (pole, ...)

średnia (pole)

Utwórz obiekt Aggregatefield, który można użyć do obliczenia średniej określonego pola w zakresie dokumentów w zestawie wyników zapytania.

Podpis:

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

Parametry

Parametr Typ Opis
pole ciąg | Ścieżka pola Określa pole do średniej w zestawie wyników.

Zwroty:

Aggregatefield <liczba | null>

suma (pole)

Utwórz obiekt AggregateField, którego można użyć do obliczenia suma określonego pola w zakresie dokumentów w zestawie wyników zapytania.

Podpis:

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

Parametry

Parametr Typ Opis
pole ciąg | Ścieżka pola Określa pole do sumowania przez zestaw wyników.

Zwroty:

Aggregatefield <numer>

funkcja (fieldPath, ...)

Orderby (FieldPath, DirectStr)

Tworzy QueryOrderByConstraint , który sortuje wynik zapytania według określonego pola, opcjonalnie w kolejności malejącej zamiast wznoszenia.

Podpis:

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

Parametry

Parametr Typ Opis
poleŚcieżka ciąg | Ścieżka pola Pole do sortowania.
DirectStr OrderbyDirection Opcjonalny kierunek do sortowania przez („ASC” lub „DESC”). Jeśli nie zostanie określone, zamówienie będzie rosnące.

Zwroty:

QueryorderbyConstraint

Utworzono QueryOrderByConstraint .

gdzie (FieldPath, OPSTR, wartość)

Tworzy queryfieldFilterConstraint , który egzekwuje, że dokumenty muszą zawierać określone pole i że wartość powinna spełniać dostarczone ograniczenie relacji.

Podpis:

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

Parametry

Parametr Typ Opis
poleŚcieżka ciąg | Ścieżka pola Ścieżka do porównania
Opstr Gdzie Filterop String operacyjny (np. „& Lt;”, „& lt; =”, „==”, „& lt;”, „& lt; =”, "! =").
wartość nieznany Wartość porównania

Zwroty:

QueryfieldFilterConstraint

Utworzono QueryfieldFilterConstraint .

funkcja (wartości field, ...)

endat (wartości terenowe)

Tworzy zapisy , który modyfikuje wyniki ustawione na dostarczone pola względem kolejności zapytania. Kolejność wartości pola musi być zgodna z kolejnością kolejności według klauzul zapytania.

Podpis:

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

Parametry

Parametr Typ Opis
wartości polowe nieznany[] Wartości pola do końca tego zapytania, w kolejności zamówienia zapytania przez.

Zwroty:

QueryendatConstraint

Zamknięcie QueryendatConstraint do query()

endBefore (FieldValues)

Tworzy zapisy , które modyfikuje ustawione wyniki, aby zakończyć się przed dostarczonymi pola względem kolejności zapytania. Kolejność wartości pola musi być zgodna z kolejnością kolejności według klauzul zapytania.

Podpis:

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

Parametry

Parametr Typ Opis
wartości polowe nieznany[] Wartości pola do końca tego zapytania wcześniej, w kolejności zamówienia zapytania przez.

Zwroty:

QueryendatConstraint

Zamknięcie QueryendatConstraint do query()

startufter (wartości terenowe)

Tworzy zapisy QueryStartatConstraint , które modyfikuje zestaw wyników, aby rozpocząć się po dostarczonych polach w stosunku do kolejności zapytania. Kolejność wartości pola musi być zgodna z kolejnością kolejności według klauzul zapytania.

Podpis:

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

Parametry

Parametr Typ Opis
wartości polowe nieznany[] Wartości pola, aby rozpocząć to zapytanie po, w kolejności zamówienia zapytania przez.

Zwroty:

QueryStartatConstraint

QueryStartatConstraint do przejścia do query()

startat (wartości terenowe)

Tworzy zapis QueryStartatConstraint , który modyfikuje zestaw wyników, aby rozpocząć się na dostarczonych polach w stosunku do kolejności zapytania. Kolejność wartości pola musi być zgodna z kolejnością kolejności według klauzul zapytania.

Podpis:

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

Parametry

Parametr Typ Opis
wartości polowe nieznany[] Wartości pola, aby rozpocząć to zapytanie, w kolejności zamówienia zapytania przez.

Zwroty:

QueryStartatConstraint

QueryStartatConstraint do przejścia do query() .

funkcja (po lewej, ...)

AggregateFieldEqual (po lewej, po prawej)

Porównuje dwa „agregatefield „Instancje równości.

Podpis:

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

Parametry

Parametr Typ Opis
lewy Aggregatefield <nieznany> Porównaj to Aggregatefield z right .
Prawidłowy Aggregatefield <nieznany> Porównaj to Aggregatefield z left .

Zwroty:

wartość logiczna

AggregateQuerySnapshotequal (po lewej, po prawej)

Porównuje dwie instancje AggregateQuerySnapshot dla równości.

Dwa instancje AggregateQuerySnapshot są uważane za „równe”, jeżeli mają podstawowe zapytania, które porównują równe, i te same dane.

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 <AggregatesPectpype, AppModelType, DBModelType> Pierwszy AggregateQuerySnapshot do porównania.
Prawidłowy AggregateQuerySnapshot <AggregatesPectpype, AppModelType, DBModelType> Drugi AggregateQuerySnapshot do porównania.

Zwroty:

wartość logiczna

true , jeśli obiekty są „równe”, jak zdefiniowano powyżej, lub false w inny sposób.

Quersequal (po lewej, po prawej)

Zwraca prawdziwie, jeśli podane zapytania wskazują na tę samą kolekcję i zastosują te same ograniczenia.

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> Query do porównania.
Prawidłowy Zapytanie <AppModelType, DbModelType> Query do porównania.

Zwroty:

wartość logiczna

To prawda, jeśli odniesienia wskazują do tej samej lokalizacji w tej samej bazie danych Firestore.

Refeckiega (po lewej, po prawej)

Zwraca prawdziwie, jeśli podane odniesienia są równe.

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> Odniesienie do porównania.
Prawidłowy Odnośnik do dokumentu <AppModelType, dbModelType> | CollectionReference <AppModelType, DbModelType> Odniesienie do porównania.

Zwroty:

wartość logiczna

To prawda, jeśli odniesienia wskazują do tej samej lokalizacji w tej samej bazie danych Firestore.

Snapshotequal (po lewej, po prawej)

Zwraca prawdziwie, jeśli dostarczone migawki są równe.

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> | Queryysnapshot <AppModelType, DbModelType> Migawka do porównania.
Prawidłowy DocumentsNapshot <AppModelType, dbModelType> | QuerySnapshot <AppModelType, DbModelType> Migawka do porównania.

Zwroty:

wartość logiczna

To prawda, że ​​migawki są równe.

funkcja (limit, ...)

limit (limit)

Tworzy QueryLimitConstraint , który zwraca tylko pierwsze dopasowane dokumenty.

Podpis:

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

Parametry

Parametr Typ Opis
limit numer Maksymalna liczba pozycji do zwrócenia.

Zwroty:

QueryLimitconstraint

Utworzono QueryLimitConstraint .

limitolast (limit)

Tworzy QueryLimitConstraint , który zwraca tylko ostatnie dopasowane dokumenty.

Musisz określić przynajmniej jedną klauzulę orderBy dla zapytań limitToLast , w przeciwnym razie wyjątek zostanie rzucony podczas wykonywania.

Podpis:

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

Parametry

Parametr Typ Opis
limit numer Maksymalna liczba pozycji do zwrócenia.

Zwroty:

QueryLimitconstraint

Utworzono QueryLimitConstraint .

funkcja (loglevel, ...)

setloglevel (loglevel)

Ustawia gadatość dzienników Cloud Firestore (debugowanie, błąd lub ciche).

Podpis:

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

Parametry

Parametr Typ Opis
Loglevel Poziom dziennika Porośność ustawiona dla rejestrowania aktywności i błędów. Może być dowolną z poniższych wartości:
  • debug najbardziej szczegółowego poziomu rejestrowania, przede wszystkim do debugowania.
  • error tylko do rejestrowania błędów.
  • silent to turn off logging.

Zwroty:

próżnia

funkcja (n, ...)

przyrost (n)

Zwraca specjalną wartość, której można użyć z setDoc () lub aktualizateC () , która informuje serwer, aby zwiększył bieżącą wartość pola o daną wartość.

Jeśli albo operand lub bieżąca wartość pola wykorzystuje precyzję zmiennoprzecinkowej, cała arytmetyka podąża za semantyką IEEE 754. Jeśli obie wartości są liczbami całkowite, wartości poza bezpiecznym zakresem liczb JavaScript ( Number.MIN_SAFE_INTEGER do Number.MAX_SAFE_INTEGER ) podlegają również utracie precyzyjnej. Ponadto, po przetworzeniu przez backend Firestore, wszystkie operacje całkowitowe są ograniczone między -2^63 a 2^63-1.

Jeśli bieżąca wartość pola nie jest number typu , lub jeśli pole jeszcze nie istnieje, transformacja ustawia pole na daną wartość.

Podpis:

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

Parametry

Parametr Typ Opis
N numer Wartość do zwiększenia przez.

Zwroty:

Wartość pola

FieldValue Sentinel do użycia w wywołaniu setDoc() lub updateDoc()

funkcja(zapytanie, ...)

getAggregate(zapytanie, zagregowanaSpec)

Oblicza określone agregacje dotyczące dokumentów w zestawie wyników danego zapytania bez faktycznego pobierania dokumentów.

Korzystanie z tej funkcji do wykonywania agregacji jest wydajne, ponieważ pobierane są tylko ostateczne wartości agregacji, a nie dane dokumentów. Ta funkcja może wykonywać agregacje dokumentów w przypadkach, w których zestaw wyników jest zbyt duży do pobrania (tysiące dokumentów).

Podpis:

export declare function getAggregate<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> Zapytanie, którego zestaw wyników jest agregowany.
AggregatesPec Aggregates Obiekt AggregateSpec , który określa agregaty do wykonywania przez zestaw wyników. AggregatesPec określa aliasy dla każdego agregatu, które można wykorzystać do pobrania wyniku kruszywa.

Zwroty:

Obiecaj < agregateQuerySnapshot <AggregatesPectpype, AppModelType, DBModelType >>

Przykład

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

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

getCount (zapytanie)

Oblicza liczbę dokumentów w zestawie wyników danego zapytania bez faktycznego pobierania dokumentów.

Korzystanie z tej funkcji do zliczenia dokumentów jest wydajne, ponieważ pobierane są tylko liczba ostateczna, a nie dane dokumentów. Ta funkcja może policzyć dokumenty w przypadkach, w których zestaw wyników jest zbyt duży do całkowitego pobrania (tysiące dokumentów).

Podpis:

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

Parametry

Parametr Typ Opis
zapytanie Zapytanie <AppModelType, DbModelType> Zapytanie, którego rozmiar zestawu wyników jest obliczany.

Zwroty:

Obiecaj < agregateQuerySnapshot <{Count: Aggregatefield <liczba>; }, AppModelType, dbModelType >>

Obietnica, która zostanie rozwiązana z hrabiego; Liczba można pobrać z snapshot.data().count , gdzie snapshot jest AggregateQuerySnapshot , do którego powrócona obietnica ustępuje.

getdocs (zapytanie)

Wykonuje zapytanie i zwraca wyniki jako zapytanie .

Wszystkie zapytania są wykonywane bezpośrednio przez serwer, nawet jeśli zapytanie zostało wcześniej wykonane. Ostatnie modyfikacje znajdują odzwierciedlenie tylko w odzyskanych wynikach, jeśli zostały już zastosowane przez backend. Jeśli klient jest offline, operacja się nie powiedzie. Aby zobaczyć wcześniej buforowane wyniki i lokalne modyfikacje, użyj pełnego SDK Firestore.

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> Query do wykonania.

Zwroty:

Obiecaj < queryysnapshot <AppModelType, dbModelType >>

Obietnica, która zostanie rozwiązana w wynikach zapytania.

Zapytanie (zapytanie, CompositeFilter, QueryConstraints)

Tworzy nowy niezmienny przykład zapytania , który jest rozszerzony o dodatkowe ograniczenia zapytania.

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> Instancja zapytania , którą należy użyć jako podstawy nowych ograniczeń.
CompositeFilter QueryCompositeFilterConstraint Do zastosowania QueryCompositeFilterConstraint . Utwórz QueryCompositeFilterConstraint przy użyciu i () lub () .
QueryConstraints QueryNonFilterConstraint [] Dodatkowe QueryNonFilterConstraint s do składania wniosku (np. Orderby () , limit () ).

Zwroty:

Zapytanie <AppModelType, DbModelType>

Wyjątki

Jeżeli którekolwiek z dostarczonych ograniczeń zapytania nie można połączyć z istniejącymi lub nowymi ograniczeniami.

Zapytanie (zapytanie, QueryConstraints)

Tworzy nowy niezmienny przykład zapytania , który jest rozszerzony o dodatkowe ograniczenia zapytania.

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> Instancja zapytania , którą należy użyć jako podstawy nowych ograniczeń.
QueryConstraints QueryConstraint [] Lista QueryConstraint s do składania wniosku.

Zwroty:

Zapytanie <AppModelType, DbModelType>

Wyjątki

Jeżeli którekolwiek z dostarczonych ograniczeń zapytania nie można połączyć z istniejącymi lub nowymi ograniczeniami.

funkcja (QueryConstraints, ...)

i (QueryConstraints)

Tworzy nowy QueryCompOSEFILTERCONSTRARCATRING , który jest połączeniem danych ograniczeń filtra. Filtr koniunkcyjny zawiera dokument, jeśli spełnia wszystkie podane filtry.

Podpis:

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

Parametry

Parametr Typ Opis
QueryConstraints QueryFilterConstraint [] Opcjonalny. Lista QueryFilterConstraint s do wykonania koniunkcji dla. Muszą one zostać utworzone za pomocą połączeń w miejscu () , Lub() , albo i() .

Zwroty:

QueryCompositeFilterConstraint

Nowo utworzony QueryCompositeFilterConstraint .

lub (QueryConstraints)

Tworzy nowy QueryCompOSEFILTERCONSTRARCATRING , który jest rozłączeniem danych ograniczeń filtra. Filtr Disjunction zawiera dokument, jeżeli spełnia którykolwiek z podanych filtrów.

Podpis:

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

Parametry

Parametr Typ Opis
QueryConstraints QueryFilterConstraint [] Opcjonalny. Lista QueryFilterConstraint s, aby wykonać rozłączenie. Muszą one zostać utworzone za pomocą połączeń w miejscu () , Lub() , albo i() .

Zwroty:

QueryCompositeFilterConstraint

Nowo utworzony QueryCompositeFilterConstraint .

funkcja (odniesienie, ...)

addDoc (odniesienie, dane)

Dodaj nowy dokument do określonego CollectionReference za pomocą podanych danych, automatycznie przypisując go identyfikator dokumentu.

Wynik tego zapisu zostanie odzwierciedlony tylko w odczytach dokumentów, które występują po zwróconej obietnicy. Jeśli klient jest w trybie offline, zapis zawiedzie. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy bufora, dopóki klient nie będzie online, skorzystaj z pełnego SDK Firestore.

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> Odniesienie do kolekcji, do którego można dodać ten dokument.
dane Z FieldValue <AppModelType> Obiekt zawierający dane dla nowego dokumentu.

Zwroty:

Obietnica < dokumentReference <AppModelType, dbModelType >>

Promise rozwiązana wraz z DocumentReference wskazującym na nowo utworzony dokument po napisaniu go na backend.

Wyjątki

Błąd - jeśli podane dane wejściowe nie jest prawidłowym dokumentem Firestore.

Kolekcja (odniesienie, ścieżka, Pathsegments)

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

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> Odniesienie do kolekcji.
ś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 (odniesienie, ścieżka, Pathsegments)

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

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> Odniesienie do dokumentu Firestore.
ścieżka strunowy Oddzielona ścieżka do kolekcji.
PATHSEGMENTY strunowy[] Dodatkowe segmenty ścieżek, które zostaną zastosowane 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ę.

deleTEDOC (odniesienie)

Usuwa dokument, o którym mowa w określonym DocumentReference .

Usunięcie zostanie odzwierciedlone tylko w odczytach dokumentów, które wystąpią po zwróconej obietnicy. Jeśli klient jest offline, Usuń się nie powiedzie. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy bufora, dopóki klient nie będzie online, skorzystaj z pełnego SDK Firestore.

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> Odniesienie do dokumentu do usunięcia.

Zwroty:

Obiecaj <Void>

Promise rozwiązana po pomyślnym usunięciu dokumentu z zaplecza.

DOC (odniesienie, ścieżka, Pathsegments)

Otrzymuje instancję DocumentReference , która odnosi się do dokumentu w ramach reference na określonej ścieżce względnej. Jeśli nie zostanie określona ścieżka, do zwróconego DocumentReference zostanie wykorzystany automatycznie unikalny identyfikator .

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> Odniesienie do kolekcji.
ścieżka strunowy Oddzielona ścieżka do dokumentu. Musi zostać pominięty do używania automatycznych identyfikatorów.
PATHSEGMENTY strunowy[] Dodatkowe segmenty ścieżek, które zostaną zastosowane w stosunku do pierwszego argumentu.

Zwroty:

Odnośnik do dokumentu <AppModelType, DbModelType>

Instancja DocumentReference .

Wyjątki

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

DOC (odniesienie, ścieżka, Pathsegments)

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

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> Odniesienie do dokumentu 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.

getDoc (odniesienie)

Odczytuje dokument, o którym mowa w określonym odniesieniu do dokumentu.

Wszystkie dokumenty są pobierane bezpośrednio z serwera, nawet jeśli dokument był wcześniej odczytany lub zmodyfikowany. Ostatnie modyfikacje znajdują odzwierciedlenie tylko w odzyskanych DocumentSnapshot , jeśli zostały już zastosowane przez backend. Jeśli klient jest w trybie offline, odczyt się nie powiedzie. Jeśli lubisz korzystać z buforowania lub zobaczyć lokalne modyfikacje, skorzystaj z pełnego SDK Firestore.

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> Odniesienie dokumentu do pobierania.

Zwroty:

Obiecaj < DocumentsNapshot <AppModelType, dbModelType >>

Obietnica rozwiązana za pomocą DocumentSnapshot , zawierająca bieżącą zawartość dokumentu.

setDoc (odniesienie, dane)

Zapisuje do dokumentu, o którym mowa określone DocumentReference . Jeśli dokument jeszcze nie istnieje, zostanie utworzony.

Wynik tego zapisu zostanie odzwierciedlony tylko w odczytach dokumentów, które występują po zwróconej obietnicy. Jeśli klient jest w trybie offline, zapis zawiedzie. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy bufora, dopóki klient nie będzie online, skorzystaj z pełnego SDK Firestore.

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> Odniesienie do dokumentu do napisania.
dane Z FieldValue <AppModelType> Mapa pól i wartości dokumentu.

Zwroty:

Obiecaj <Void>

Promise rozwiązana po pomyślnym zapisaniu danych na zapleczu.

Wyjątki

Błąd - jeśli podane dane wejściowe nie jest prawidłowym dokumentem Firestore.

setDoc (odniesienie, dane, opcje)

Zapisuje do dokumentu, o którym mowa określone DocumentReference . Jeśli dokument jeszcze nie istnieje, zostanie utworzony. Jeśli zapewniasz merge lub mergeFields , Dostarczone dane można połączyć z istniejącym dokumentem.

Wynik tego zapisu zostanie odzwierciedlony tylko w odczytach dokumentów, które występują po zwróconej obietnicy. Jeśli klient jest w trybie offline, zapis zawiedzie. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy bufora, dopóki klient nie będzie online, skorzystaj z pełnego SDK Firestore.

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> Odniesienie do dokumentu do napisania.
dane PartialwithfieldValue <AppModelType> Mapa pól i wartości dokumentu.
opcje UstawOpcje Obiekt do konfigurowania zachowania SET.

Zwroty:

Obiecaj <Void>

Promise rozwiązana po pomyślnym zapisaniu danych na zapleczu.

Wyjątki

Błąd - jeśli podane dane wejściowe nie jest prawidłowym dokumentem Firestore.

UpdateC (odniesienie, dane)

Aktualizuje pola w dokumencie, o którym mowa w określonym DocumentReference . Aktualizacja nie powiedzie się, jeśli zostanie zastosowana do dokumentu, który nie istnieje.

Wynik tej aktualizacji zostanie odzwierciedlony tylko w odczytach dokumentów, które występują po zwróconej obietnicy. Jeśli klient jest w trybie offline, aktualizacja nie powiedzie się. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy bufora, dopóki klient nie będzie online, skorzystaj z pełnego SDK Firestore.

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> Odniesienie do dokumentu do aktualizacji.
dane Aktualizować dane <DbModelType> Obiekt zawierający pola i wartości, z którymi należy zaktualizować dokument. Pola mogą zawierać kropki, aby odwoływać się do zagnieżdżonych pól w dokumencie.

Zwroty:

Obiecaj <Void>

Promise rozwiązana po pomyślnym zapisaniu danych na zapleczu.

Wyjątki

Błąd - jeśli dostarczone dane wejściowe nie jest prawidłowymi danymi Firestore.

UpdateC (odniesienie, pole, wartość, MorefieldsandValues)

Aktualizacje pola w dokumencie, o którym mowa określone DocumentReference Aktualizacja nie powiedzie się, jeśli zostanie zastosowana do dokumentu, który nie istnieje.

Pola zagnieżdżone można aktualizować, zapewniając rozdzielone kropki ciągnie ścieżki polowej lub podając obiekty FieldPath .

Wynik tej aktualizacji zostanie odzwierciedlony tylko w odczytach dokumentów, które występują po zwróconej obietnicy. Jeśli klient jest w trybie offline, aktualizacja nie powiedzie się. Jeśli chcesz zobaczyć lokalne modyfikacje lub zapisy bufora, dopóki klient nie będzie online, skorzystaj z pełnego SDK Firestore.

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> Odniesienie do dokumentu do aktualizacji.
pole ciąg | Ścieżka pola Pierwsze pole do aktualizacji.
wartość nieznany Pierwsza wartość.
więcej wartości nieznany[] Dodatkowe pary wartości kluczowych.

Zwroty:

Obiecaj <Void>

Promise rozwiązana po pomyślnym zapisaniu danych na zapleczu.

Wyjątki

Błąd - jeśli dostarczone dane wejściowe nie jest prawidłowymi danymi Firestore.

funkcja (migawka, ...)

endat (migawka)

Tworzy zapisy QueryendatConstraint , które modyfikuje ustawiony wyniki, aby zakończyć się w dostarczonym dokumencie (włącznie). Pozycja końcowa jest w stosunku do kolejności zapytania. Dokument musi zawierać wszystkie pola podane w kolejności zapytania.

Podpis:

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

Parametry

Parametr Typ Opis
migawka DocumentsNapshot <AppModelType, DbModelType> Migawka dokumentu do końca.

Zwroty:

QueryendatConstraint

Zamknięcie QueryendatConstraint do query()

EndBefore (migawka)

Tworzy zapisy QueryendatConstraint , które modyfikuje ustawiony wyniki, aby zakończyć się przed podany dokument (wyłączny). Pozycja końcowa jest w stosunku do kolejności zapytania. Dokument musi zawierać wszystkie pola podane w kolejności zapytania.

Podpis:

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

Parametry

Parametr Typ Opis
migawka DocumentsNapshot <AppModelType, DbModelType> Migawka dokumentu do końca.

Zwroty:

QueryendatConstraint

Zamknięcie QueryendatConstraint do query()

Startafter (migawka)

Tworzy QueryStartatConstraint , który modyfikuje zestaw wyników, aby rozpocząć się po podanym dokumencie (wyłącznym). Pozycja początkowa jest względna kolejności zapytania. Dokument musi zawierać wszystkie pola podane w kolejności zapytania.

Podpis:

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

Parametry

Parametr Typ Opis
migawka DocumentsNapshot <AppModelType, DbModelType> Migawka dokumentu, która ma się rozpocząć.

Zwroty:

QueryStartatConstraint

QueryStartatConstraint do przejścia do query()

startat (migawka)

Tworzy equeryStartatConstraint , który modyfikuje zestaw wyników, aby rozpocząć się w dostarczonym dokumencie (włącznie). Pozycja początkowa jest względna kolejności zapytania. Dokument musi zawierać wszystkie pola podane w orderBy tego zapytania.

Podpis:

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

Parametry

Parametr Typ Opis
migawka DocumentsNapshot <AppModelType, DbModelType> Migawka dokumentu na początek.

Zwroty:

QueryStartatConstraint

QueryStartatConstraint do przejścia do query() .

Addprefixtokeys

Zwraca nową mapę, w której każdy klucz jest prefiksowany z zewnętrznym kluczem dołączonym do kropki.

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

Związek wszystkich typów AggregateField , które są wspierane przez Firestore.

Podpis:

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

AggregatesPecdata

Typ, którego klucze są pobierane z AggregateSpec i których wartości są wynikiem agregacji wykonanej przez odpowiednią AggregateField z AggregateSpec wejściowych .

Podpis:

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

AggregateType

Typ Unii reprezentujący typ agregatu do wykonania.

Podpis:

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

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 służy do Record związków T[K] , ponieważ T[K] jest oceniane jako wyrażenie i nie jest rozmieszczone.

Zobacz https://www.typescriptlang.org/docs/handbook/advanced-types.html#distribctive-onditional-types

Podpis:

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

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.

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

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

Podpis:

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

OrderbyDirection

Kierunek klauzuli Orderby () jest określony jako „desc” lub „asc” (zejście lub wzrost).

Podpis:

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

PartialwithfieldValue

Podobne do Partial<T> , ale pozwala na pominięcie zagnieżdżonych pola, a wartości terenowe są przekazywane jako wartości właściwości.

Podpis:

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

Prymitywny

Prymitywne typy.

Podpis:

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

QueryConstraintType

Opisuje różne ograniczenia zapytań dostępne w tym SDK.

Podpis:

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

QueryFilterConstraint

QueryFilterConstraint to pomocnik, który reprezentuje QueryfieldFilterConstraint i QueryCompositeFilterConstraint .

Podpis:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | 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ć na zapytanie () , aby utworzyć nową instancję zapytania, która zawiera również QueryConstraint .

Podpis:

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

UstawOpcje

Obiekt opcji, który konfiguruje zachowanie setDoc () i wzywa. Połączenia te można skonfigurować do wykonywania szczegółowych scalów zamiast zastąpić docelowe dokumenty w całości, zapewniając SetOptions z merge: true .

Podpis:

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

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

Podpis:

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

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.

Podpis:

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

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

Podpis:

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

Z FieldValue

Umożliwia przekazanie wartości terenowych jako wartości właściwości przy jednoczesnym utrzymaniu bezpieczeństwa typu.

Podpis:

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