Funkcje
Funkcja | Opis |
---|---|
function(aplikacja, ...) | |
getFirestore(aplikacja) | Zwraca istniejącą domyślną instancję Firestore, która jest powiązana z podaną aplikacją FirebaseApp. Jeśli żadna instancja nie istnieje, inicjuje nową z ustawieniami domyślnymi. |
getFirestore(aplikacja; identyfikator bazy danych) | (BETA) Zwraca istniejącą instancję Firestore, która jest powiązana z podaną FirebaseApp. Jeśli żadna instancja nie istnieje, inicjuje nową z ustawieniami domyślnymi. |
initializeFirestore(aplikacja, ustawienia) | Inicjuje nową instancję Cloud Firestore z użyciem podanych ustawień. Może zostać wywołana tylko przed innymi funkcjami, w tym getFirestore(). Jeśli ustawienia niestandardowe są puste, ta funkcja odpowiada wywołaniu getFirestore(). |
initializeFirestore(aplikacja, ustawienia, identyfikator bazy danych) | (BETA) Inicjuje nową instancję Cloud Firestore z użyciem podanych ustawień. Może zostać wywołana tylko przed innymi funkcjami, w tym getFirestore(). Jeśli ustawienia niestandardowe są puste, ta funkcja odpowiada wywołaniu getFirestore(). |
function(firestore, ...) | |
kolekcja(firestore, ścieżka, PathSegments) | Pobiera instancję CollectionReference odwołującą się do kolekcji w podanej ścieżce bezwzględnej. |
collectionGroup(firestore, collectionId) | Tworzy i zwraca nową instancję Query , która obejmuje wszystkie dokumenty w bazie danych znajdujące się w kolekcji lub podkolekcji o podanej wartości collectionId . |
connectFirestoreEmulator(firestore, host, port, options) | Zmodyfikuj tę instancję, aby komunikować się z emulatorem Cloud Firestore.Uwaga: tę instancję należy wywołać, zanim zostanie ona użyta do wykonania jakichkolwiek operacji. |
doc(firestore, Path, PathSegments) | Pobiera wystąpienie DocumentReference odwołujące się do dokumentu w podanej ścieżce bezwzględnej. |
runTransaction(firestore, updateFunction, opcje) | Wykonuje określony updateFunction , a następnie próbuje zatwierdzić zmiany zastosowane w transakcji. Jeśli jakikolwiek odczytywany dokument w transakcji uległ zmianie, Cloud Firestore ponawia próbę wykonania polecenia updateFunction . Jeśli nie uda się potwierdzić po 5 próbach, transakcja nie powiedzie się.Maksymalna liczba zapisów w ramach jednej transakcji to 500. |
terminate(firestore) | Zatrzymuje podaną instancję Firestore .Po wywołaniu terminate() można używać tylko funkcji clearIndexedDbPersistence() . Każda inna funkcja zgłasza FirestoreError . Zakończenie nie powoduje anulowania oczekujących zapisów, a wszystkie obietnice, które oczekują na odpowiedź z serwera, nie zostaną zrealizowane.Aby uruchomić ponownie po zakończeniu działania, utwórz nową instancję instancji Firestore z funkcją getFirestore().Uwaga: w normalnych okolicznościach wywoływanie funkcji terminate() nie jest wymagane. Ta funkcja jest przydatna tylko wtedy, gdy chcesz wymusić zwolnienie wszystkich zasobów przez tę instancję lub w połączeniu z funkcją clearIndexedDbPersistence(), która gwarantuje zniszczenie każdego stanu lokalnego między uruchomieniami testów. |
writeBatch(firestore) | Tworzy wsad zapisu służącą do wykonywania wielu zapisów jako pojedynczej operacji niepodzielnej. Maksymalna dozwolona liczba zapisów w pojedynczej operacji WriteBatch to 500.Wynik tych zapisów będzie widoczny tylko w odczytach dokumentów, które nastąpią po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, zapis się nie uda. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore. |
function() | |
count() | Utwórz obiekt AggregateField, którego można użyć do obliczenia liczby dokumentów w zbiorze wynikowym zapytania. |
deleteField() | Zwraca czujnik do użycia z funkcją updateDoc() lub setDoc() z funkcją {merge: true} do oznaczenia pola do usunięcia. |
documentId() | Zwraca specjalny wskaźnik FieldPath , który odnosi się do identyfikatora dokumentu. Można go używać w zapytaniach do sortowania i filtrowania według identyfikatora dokumentu. |
getFirestore(), | Zwraca istniejącą domyślną instancję Firestore, która jest powiązana z domyślną aplikacją FirebaseApp. Jeśli żadna instancja nie istnieje, inicjuje nową z ustawieniami domyślnymi. |
serverTimestamp(), | Zwraca wartość czujnika używaną z funkcją setDoc() lub updateDoc(), aby uwzględnić w zapisanych danych sygnaturę czasową wygenerowaną przez serwer. |
function(databaseId, ...) | |
getFirestore(databaseId) | (BETA) Zwraca istniejącą instancję Firestore, która jest powiązana z domyślną FirebaseApp. Jeśli żadna instancja nie istnieje, inicjuje nową z ustawieniami domyślnymi. |
function(elements, ...) | |
arrayRemove(elements) | Zwraca wartość specjalną, której można użyć z funkcją setDoc() lub informuje serwer, że ma 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 zastąpione pustą tablicą. |
arrayUnion(elementy) | Zwraca wartość specjalną, której można użyć w przypadku funkcji setDoc() lub updateDoc(), która informuje serwer, że ma połączyć podane elementy z dowolną wartością tablicy, która już istnieje na serwerze. Każdy określony element, którego jeszcze nie ma w tablicy, zostanie dodany na końcu. Jeśli modyfikowane pole nie jest jeszcze tablicą, zostanie ona zastąpiona tablicą zawierającą dokładnie określone elementy. |
function(field, ...) | |
average(field) | Utwórz obiekt AggregateField, którego można używać do obliczania średniej wartości z określonego pola dla zakresu dokumentów w zbiorze wynikowym zapytania. |
suma(field) | Utwórz obiekt AggregateField, którego można używać do obliczania sumy określonego pola w zakresie dokumentów w zbiorze wynikowym zapytania. |
function(fieldPath, ...) | |
orderBy(fieldPath, directionsStr) | Tworzy obiekt QueryOrderByConstraint, który sortuje wynik zapytania według określonego pola (opcjonalnie w kolejności malejącej, a nie rosnącej).Uwaga: dokumenty, które nie zawierają wskazanego pola, nie pojawią się w wyniku zapytania. |
where(fieldPath, opStr, value) | Tworzy obiekt QueryFieldFilterConstraint, który wymusza, by dokumenty zawierały określone pole, a wartość spełniała podane ograniczenie relacji. |
function(fieldValues, ...) | |
endAt(fieldValues) | Tworzy obiekt QueryEndAtConstraint, który zmienia wyniki tak, aby kończyć się w podanych polach względem kolejności zapytania. Kolejność wartości pól musi być zgodna z kolejnością klauzul zapytania. |
endBefore(fieldValues) | Tworzy obiekt QueryEndAtConstraint, który zmienia wynik tak, aby kończył się przed podanymi polami zgodnie z kolejnością zapytania. Kolejność wartości pól musi być zgodna z kolejnością klauzul zapytania. |
startAfter(fieldValues) | Tworzy obiekt QueryStartAtConstraint, który modyfikuje zbiór wyników tak, aby rozpoczynał się po podanych polach zgodnie z kolejnością zapytania. Kolejność wartości pól musi być zgodna z kolejnością klauzul zapytania. |
startAt(fieldValues), | Tworzy obiekt QueryStartAtConstraint, który modyfikuje zbiór 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. |
function(left, ...) | |
aggregateFieldEqual(po lewej, po prawej) | Porównuje 2 instancje „AggregateField”, aby zapewnić równość. |
aggregateQuerySnapshotEqual(po lewej, po prawej) | Porównuje 2 instancje AggregateQuerySnapshot w celu uzyskania równości.2 instancje typu AggregateQuerySnapshot są uznawane za „równe”. jeśli mają podstawowe zapytania, które porównują te same dane. |
queryEqual(po lewej, po prawej) | Zwraca wartość „prawda”, jeśli podane zapytania wskazują tę samą kolekcję i stosują te same ograniczenia. |
refEqual(po lewej, po prawej) | Zwraca wartość prawda, jeśli podane odwołania są równe. |
snapshotEqual(po lewej, po prawej) | Zwraca wartość „prawda”, jeśli podane zrzuty są równe. |
function(limit, ...) | |
limit(limit) | Tworzy zasadę QueryLimitConstraint, która zwraca tylko pierwsze pasujące dokumenty. |
limitToLast(limit) | Tworzy zasadę QueryLimitConstraint, która zwraca tylko ostatnie pasujące dokumenty.Musisz określić co najmniej jedną klauzulę orderBy dla zapytań limitToLast . W przeciwnym razie podczas wykonywania zostanie zgłoszony wyjątek. |
function(logLevel, ...) | |
setLogLevel(logLevel) | Ustawia szczegółowość logów Cloud Firestore (debugowanie, błędy lub ciche). |
function(n, ...) | |
increment(n), | Zwraca wartość specjalną, której można użyć z funkcją setDoc() lub updateDoc(), która informuje serwer, że ma zwiększyć bieżącą wartość pola o podaną wartość.Jeśli operand lub bieżąca wartość pola używają precyzji zmiennoprzecinkowej, wszystkie funkcje arytmetyczne są zgodne z semantyką IEEE 754. Jeśli obie wartości są liczbami całkowitymi, wartości spoza bezpiecznego zakresu liczbowego w JavaScripcie (od Number.MIN_SAFE_INTEGER do Number.MAX_SAFE_INTEGER ) również mogą zostać utracone. Ponadto po przetworzeniu przez backend Firestore wszystkie operacje na liczbach całkowitych są ograniczone od -2^63 do 2^63-1.Jeśli bieżąca wartość pola nie ma typu number lub pole jeszcze nie istnieje, przekształcenie ustawia w polu określoną wartość. |
function(zapytanie, ...) | |
getAggregate(query, AggregateSpec) | Oblicza określone agregacje na podstawie dokumentów znajdujących się w zestawie wyników danego zapytania bez pobierania dokumentów.Efektywnie jest używanie tej funkcji do agregacji, ponieważ uwzględnia się tylko ostateczne wartości agregacji, a nie wartości dokumentów. danych. Ta funkcja może agregować dokumenty, gdy zbiór wyników jest zbyt duży do pobrania w całości (tysiące dokumentów). |
getCount(query) | Oblicza liczbę dokumentów w zbiorze wyników dla danego zapytania bez pobierania dokumentów.Ta funkcja jest wydajna w celu liczenia dokumentów, ponieważ tylko wynikowa liczba dokumentów, a nie dokumenty danych. Ta funkcja może zliczać dokumenty w przypadkach, gdy zestaw wyników jest zbyt duży do pobrania w całości (tysiąc dokumentów). |
getDocuments(zapytanie) | Wykonuje zapytanie i zwraca wyniki w postaci QuerySnapshot.Wszystkie zapytania są wykonywane bezpośrednio przez serwer, nawet jeśli dane zapytanie zostało wykonane wcześniej. Ostatnie zmiany są odzwierciedlane w pobranych wynikach tylko wtedy, gdy zostały już zastosowane przez backend. Jeśli klient jest offline, operacja się nie uda. Aby wyświetlić wyniki wcześniej zapisane w pamięci podręcznej i zmiany lokalne, użyj pełnego pakietu SDK Firestore. |
query(zapytanie, kompozytowy filtr, ograniczenia zapytań) | Tworzy nową, niezmienną instancję zapytania, która jest rozszerzona o uwzględnienie dodatkowych ograniczeń dotyczących zapytań. |
query(zapytanie; ograniczenia zapytań) | Tworzy nową, niezmienną instancję zapytania, która jest rozszerzona o uwzględnienie dodatkowych ograniczeń dotyczących zapytań. |
function(queryConstraints, ...) | |
and(queryConstraints) | Tworzy nową funkcję QueryCompositeFilterConstraint, która łączy podane ograniczenia filtra. Filtr koniunkcyjny obejmuje dokument, jeśli spełnia wszystkie określone filtry. |
or(queryConstraints) | Tworzy nową funkcję QueryCompositeFilterConstraint, która stanowi rozdzielenie podanych ograniczeń filtra. Filtr dystrybucji powoduje uwzględnienie dokumentu, jeśli spełnia on którykolwiek z podanych filtrów. |
function(odwołanie, ...) | |
addDoc(odwołanie; dane) | Dodaj nowy dokument do określonego elementu CollectionReference z podanymi danymi, automatycznie przypisując mu identyfikator dokumentu.Wynik tego zapisu będzie widoczny tylko w odczytach dokumentów, które nastąpią po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, zapis się nie uda. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore. |
collection(odwołanie, ścieżka, segmenty ścieżki) | Pobiera instancję CollectionReference odwołującą się do podkolekcji reference w określonej ścieżce względnej. |
collection(odwołanie, ścieżka, segmenty ścieżki) | Pobiera instancję CollectionReference odwołującą się do podkolekcji reference w określonej ścieżce względnej. |
deleteDoc(odwołanie) | Usuwa dokument, do którego odwołuje się określony element DocumentReference .Usunięcie będzie widoczne tylko w odczytach dokumentów, które nastąpiły po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, usunięcie się nie powiedzie. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore. |
doc(odwołanie, ścieżka, segmenty ścieżki) | Pobiera wystąpienie DocumentReference odwołujące się do dokumentu z domeny reference w określonej ścieżce względnej. Jeśli nie podasz ścieżki, dla zwróconego elementu DocumentReference zostanie użyty automatycznie wygenerowany unikalny identyfikator. |
doc(odwołanie, ścieżka, segmenty ścieżki) | Pobiera wystąpienie DocumentReference odwołujące się do dokumentu z domeny reference w określonej ścieżce względnej. |
getDoc(odwołanie) | Odczytuje dokument, do którego odwołuje się określone odwołanie do dokumentu.Wszystkie dokumenty są bezpośrednio pobierane z serwera, nawet jeśli dokument został wcześniej odczytany lub zmodyfikowany. Ostatnie zmiany są odzwierciedlane w pobranych DocumentSnapshot tylko wtedy, gdy zostały już zastosowane przez backend. Jeśli klient jest offline, odczyt się nie uda. Jeśli chcesz korzystać z buforowania lub lokalnych modyfikacji, użyj pełnego pakietu SDK Firestore. |
setDoc(odwołanie; dane) | Zapisuje dane w dokumencie, do którego odwołuje się określony element DocumentReference . Jeśli dokument jeszcze nie istnieje, zostanie utworzony.Wynik tego zapisu będzie widoczny tylko w odczytach dokumentów, które nastąpiły po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, zapis się nie uda. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore. |
setDoc(odwołanie; dane; opcje) | Zapisuje dane w dokumencie, do którego odwołuje się określony element DocumentReference . Jeśli dokument jeszcze nie istnieje, zostanie utworzony. Jeśli podasz merge lub mergeFields , podane dane zostaną scalone w istniejący dokument.Wynik tego zapisu będzie widoczny tylko w odczytach dokumentów, które nastąpiły po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, zapis się nie uda. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore. |
updateDoc(odwołanie; dane) | Aktualizuje pola w dokumencie, do którego odwołuje się określony element DocumentReference . Aktualizacja się nie powiedzie, jeśli zostanie zastosowana do dokumentu, który nie istnieje.Wynik tej aktualizacji będzie widoczny tylko w odczytach dokumentów, które nastąpiły po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, aktualizacja się nie powiedzie. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore. |
updateDoc(odwołanie; pole; wartość; moreFieldsAndValues) | Aktualizuje pola w dokumencie, do którego odwołuje się podany element DocumentReference . Aktualizacja nie powiedzie się, jeśli zostanie zastosowana do dokumentu, który nie istnieje.Zagnieżdżone pola można zaktualizować, podając ciągi ścieżek pól oddzielone kropką lub przez podanie obiektów FieldPath .Wynik tej aktualizacji będzie widoczny tylko w odczytach dokumentów, które nastąpią po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, aktualizacja się nie powiedzie. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore. |
function(zrzut; ...) | |
endAt(zrzut) | Tworzy obiekt QueryEndAtConstraint, który zmienia zbiór 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 określone w polu orderBy zapytania. |
endBefore(snapshot) | Tworzy obiekt QueryEndAtConstraint, który zmienia (z wyłączeniem) wartość ustawioną na koniec przed podanym dokumentem. Pozycja końcowa zależy od kolejności zapytania. Dokument musi zawierać wszystkie pola określone w polu orderBy zapytania. |
startAfter(migawka) | Tworzy obiekt QueryStartAtConstraint, który zmienia zbiór wyników tak, aby rozpoczynał się po dostarczonym dokumencie (z wyłączeniem). Pozycja początkowa zależy od kolejności zapytania. Dokument musi zawierać wszystkie pola określone w polu orderBy zapytania. |
startAt(zrzut) | Tworzy obiekt QueryStartAtConstraint, który modyfikuje zbiór 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 wymienione w polu orderBy tego zapytania. |
function(wartości, ...) | |
vector(wartości) | Tworzy nowy obiekt VectorValue utworzony na podstawie kopii podanej tablicy liczb. |
Zajęcia
Klasa | Opis |
---|---|
AggregateField, | Reprezentuje agregację, którą może wykonać Firestore. |
AggregateQuerySnapshot (Zagregowany zrzut dysku) | Wyniki wykonania zapytania agregacji. |
Baty | Stały obiekt reprezentujący tablicę bajtów. |
Odniesienie do kolekcji | Obiektu CollectionReference można używać do dodawania dokumentów, pobierania odwołań do dokumentów i wysyłania zapytań o dokumenty (przy użyciu funkcji query()). |
DocumentReference | Pozycja DocumentReference odnosi się do lokalizacji dokumentu w bazie danych Firestore i może być używana do zapisywania, odczytywania i nasłuchiwania lokalizacji. Dokument we wskazanej lokalizacji może lub nie istnieje. |
DocumentSnapshot | Element DocumentSnapshot zawiera dane odczytane z dokumentu w bazie danych Firestore. Dane można wyodrębnić za pomocą .data() lub .get(<field>) w celu uzyskania określonego pola.W przypadku elementu DocumentSnapshot , który wskazuje nieistniejący dokument, wszelkie uprawnienia dostępu do danych będą miały wartość „niezdefiniowany”. Możesz użyć metody exists() , aby wprost zweryfikować istnienie dokumentu. |
FieldPath | FieldPath odnosi się do pola w dokumencie. Ścieżka może się składać z jednej 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 podasz więcej niż jedną nazwę pola, ścieżka będzie wskazywać na zagnieżdżone pole w dokumencie. |
Wartość pola | Wartości, których można używać podczas zapisywania pól dokumentu za pomocą funkcji set() lub update() . |
Firestore | Interfejs usługi Cloud Firestore.Nie wywołuj tego konstruktora bezpośrednio. Zamiast niej użyj funkcji getFirestore(). |
Błąd sklepu Firestore | Błąd zwrócony przez operację Firestore. |
GeoPoint | Stały obiekt reprezentujący lokalizację geograficzną w Firestore. Lokalizacja jest przedstawiana w postaci pary szerokości i długości geograficznej.Wartości szerokości geograficznej należą do zakresu od [-90 do 90]. Długość geograficzna mieści się w zakresie [-180, 180]. |
Zapytanie | Query odnosi się do zapytania, które można odczytać lub odsłuchać. Możesz też tworzyć dopracowane obiekty Query , dodając filtry i kolejność. |
Ograniczenie filtra QueryCompositeFilter | QueryCompositeFilterConstraint służy do zawężania zbioru dokumentów zwracanych przez zapytanie Firestore przez wykonanie logicznego LUB albo ORAZ dla kilku parametrów QueryFieldFilterConstraint lub QueryCompositeFilterConstraint. Metody QueryCompositeFilterConstraint są tworzone przez wywołanie funkcji or() lub and(), a następnie można je przekazać do funkcji query() w celu utworzenia nowej instancji zapytania, która zawiera też funkcję QueryCompositeFilterConstraint . |
QueryConstraint | QueryConstraint służy do zawężania zbioru dokumentów zwracanych przez zapytanie Firestore. Obiekty QueryConstraint są tworzone przez wywoływanie funkcji where(), orderBy(), startAt(), startAfter(), endBefore(), endAt(), limit(), limitToLast(). Mogą one również zostać przekazane do zapytania QueryConstraint , które zawiera zapytanie. |
QueryDocumentSnapshot | Element QueryDocumentSnapshot zawiera dane odczytane z dokumentu w bazie danych Firestore w ramach zapytania. Dokument gwarantuje istnienie, a jego dane można wyodrębnić za pomocą funkcji .data() lub .get(<field>) w celu uzyskania określonego pola.QueryDocumentSnapshot oferuje tę samą powierzchnię interfejsu API co DocumentSnapshot . Wyniki zapytania zawierają tylko istniejące dokumenty, więc właściwość exists ma zawsze wartość prawda, a data() nigdy nie zwraca wartości „niezdefiniowane”. |
ZapytanieEndAtConstraint | QueryEndAtConstraint służy do wykluczania dokumentów na końcu zbioru wyników zwróconego przez zapytanie Firestore. Cele QueryEndAtConstraint są tworzone przez wywołanie metody endAt() lub endBefore() i można je następnie przekazać do funkcji query() w celu utworzenia nowej instancji zapytania, która również zawiera tę funkcję QueryEndAtConstraint . |
QueryFieldFilterConstraint | QueryFieldFilterConstraint służy do zawężania zbioru dokumentów zwracanych przez zapytanie Firestore przez filtrowanie według co najmniej jednego pola dokumentu. Metody QueryFieldFilterConstraint są tworzone przez wywołanie funkcji where(), a następnie można je przekazać do query() w celu utworzenia nowej instancji zapytania, która również zawiera tę funkcję QueryFieldFilterConstraint . |
QueryLimitConstraint | QueryLimitConstraint służy do ograniczenia liczby dokumentów zwracanych przez zapytanie Firestore. Cele QueryLimitConstraint są tworzone przez wywołanie funkcji limit() lub limitToLast() i można je następnie przekazać do funkcji query() w celu utworzenia nowej instancji zapytania, która również zawiera tę funkcję QueryLimitConstraint . |
QueryOrderByConstraint | QueryOrderByConstraint służy do sortowania zbioru dokumentów zwracanych przez zapytanie Firestore. Elementy QueryOrderByConstraint są tworzone przez wywołanie metody orderBy(), a następnie można je przekazać do query() w celu utworzenia nowego wystąpienia zapytania zawierającego także ten element QueryOrderByConstraint .Uwaga: dokumenty, które nie zawierają pola orderBy, nie będą widoczne w wyniku zapytania. |
Zrzut zapytania | Pole QuerySnapshot zawiera 0 lub więcej obiektów DocumentSnapshot reprezentujących wyniki zapytania. Dostęp do dokumentów jest możliwy w postaci tablicy za pomocą właściwości docs lub w formie wyliczanych przy użyciu 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 na początku zbioru wyników zwróconego przez zapytanie Firestore. Cele QueryStartAtConstraint są tworzone przez wywołanie metody startAt() lub startAfter() i można je następnie przekazać do funkcji query() w celu utworzenia nowej instancji zapytania, która również zawiera tę funkcję QueryStartAtConstraint . |
Sygnatura czasowa | Timestamp reprezentuje punkt w czasie niezależny od dowolnej strefy czasowej i kalendarza, reprezentowany jako sekundy i ułamki sekund w rozdzielczości nanosekundy w czasie UTC.Jest kodowany przy użyciu kalendarza gregoriańskiego proleptycznego, który powoduje przeniesienie kalendarza gregoriańskiego wstecz do pierwszego roku. Jest zakodowany przy założeniu, że wszystkie minuty trwają 60 sekund, tzn.sekundy przestępne są „rozmywane”. więc do interpretacji nie jest potrzebna tabela drugiej przestępnej. Zakres wynosi od 0001-01-01T00:00:00Z do 9999-12-31T23:59:59.999999999Z.Przykłady i dodatkowe specyfikacje znajdziesz w definicji sygnatury czasowej. |
Transakcja | Odwołanie do transakcji.Obiekt Transaction przekazywany do updateFunction transakcji udostępnia metody odczytu i zapisu danych w kontekście transakcji. Patrz: runTransaction(). |
Wartość wektorowa | Reprezentuje typ wektora w dokumentach Firestore. Utwórz instancję z użyciem rozszerzenia . Wartość wektorowa |
Zapis wsadowy | Zapis wsadowy służący do wykonywania wielu zapisów jako jednej jednostki atomowej.Obiekt WriteBatch można pozyskać przez wywołanie funkcji writeBatch(). Udostępnia metody dodawania zapisów do wsadu zapisu. Żaden zapis nie zostanie zatwierdzony (ani widoczny lokalnie) do czasu wywołania funkcji WriteBatch.commit(). |
Interfejsy
Interfejs | Opis |
---|---|
AggregateSpec, | Określa zestaw agregacji i ich aliasy. |
DocumentData | Dane dokumentu (do użytku z funkcją setDoc()) składają się z pól zmapowanych na wartości. |
FirestoreDataConverter | Konwerter używany przez withConverter() do przekształcania obiektów użytkownika typu AppModelType w dane Firestore typu DbModelType .Użycie konwertera umożliwia określenie ogólnych argumentów podczas przechowywania i pobierania obiektów z Firestore.W tym kontekście model „AppModel” to klasa używana w aplikacji do łączenia powiązanych informacji i funkcji. Taka klasa może na przykład mieć właściwości ze złożonymi, zagnieżdżonymi typami danych, właściwościami używanymi do notowania, właściwościami typów nieobsługiwanych przez Firestore (takich jak symbol i bigint ) oraz funkcjami pomocniczymi, które wykonują operacje złożone. Takie klasy nie są odpowiednie i/lub nie można ich przechowywać w bazie danych Firestore. Wystąpienia takich klas muszą być konwertowane na „zwykłe stare obiekty JavaScript” Cele typu POJO z wyłącznie właściwościami podstawowymi, potencjalnie zagnieżdżone w innych obiektach POJO lub tablicach obiektów POJO. W tym kontekście ten typ jest określany jako „DbModel” i byłby obiektem nadającym się do trwałego przechowywania w Firestore. Dla wygody aplikacje mogą zaimplementować FirestoreDataConverter i zarejestrować konwertera przy użyciu obiektów Firestore, takich jak DocumentReference lub Query , aby automatycznie przekonwertować AppModel na DbModel podczas zapisywania w Firestore oraz przekonwertować DbModel na AppModel podczas pobierania z Firestore. |
Ustawienia | Określa niestandardowe konfiguracje instancji Cloud Firestore. Musisz je ustawić przed wywołaniem innych metod. |
TransactionOptions (Opcje transakcji). | Opcje dostosowywania działania transakcji. |
Aliasy typu
Wpisz alias | Opis |
---|---|
AddPrefixToKeys (DodajPrefixToKeys) | Zwraca nową mapę, w której każdy klucz jest poprzedzony kropką dołączonej do klucza zewnętrznego. |
AggregateFieldType, | Związek wszystkich typów AggregateField obsługiwanych przez Firestore. |
AggregateSpecData, | Typ, którego klucze są pobierane z elementu AggregateSpec i którego wartości są wynikiem agregacji przeprowadzonej przez odpowiednią funkcję AggregateField z danych wejściowych AggregateSpec . |
AggregateType, | Typ sumy reprezentujący typ agregacji do wykonania. |
ChildUpdateFields (Pola aktualizacji podrzędnych) | Pomoc do obliczania zagnieżdżonych pól dla danego typu T1. Jest to konieczne do rozdzielenia typów sumowania, takich jak undefined | {...} (z opcjonalnych rekwizytów) lub {a: A} | {b: B} .W tym przypadku użycia używana jest metoda V , która służy do rozdzielania typów sumowania T[K] w usłudze Record , ponieważ T[K] jest obliczana jako wyrażenie, a nie rozproszona.Patrz: https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types |
Kod błędu sklepu Firestore | Zestaw kodów stanu Firestore. Kody są takie same w przypadku kodów widocznych tutaj przez gRPC: https://github.com/grpc/grpc/blob/master/doc/statuscodes.mdMożliwe wartości: – „cancelled” (anulowano): operacja została anulowana (zwykle przez wywołującego). – „Nieznany”: nieznany błąd lub błąd z innej domeny błędu. - 'invalid-argument”: klient podał nieprawidłowy argument. Pamiętaj, że to nie to samo co „niespełniony warunek wstępny”. „nieprawidłowy argument” wskazuje argumenty, które powodują problemy niezależnie od stanu systemu (np. nieprawidłowa nazwa pola). – „deadline-overeded” (przekroczono termin): upłynął termin przed ukończeniem operacji. W przypadku operacji, które zmieniają stan systemu, ten błąd może zostać zwrócony nawet wtedy, gdy operacja zakończyła się pomyślnie. Na przykład pomyślna odpowiedź serwera mogła być tak opóźniona, że termin upłynął. – „not-found” (nie znaleziono): niektóre żądane dokumenty nie zostały znalezione. - „already-exists”: istnieje już dokument, który próbowaliśmy utworzyć. - „permission-denied”: element wywołujący nie ma uprawnień do wykonania określonej operacji. - „wyczerpanie zasobu”: część zasobów została wyczerpany, być może limit na użytkownika lub w całym systemie plików brakuje miejsca. – „niepowodzenie-warunek wstępny”: operacja została odrzucona, ponieważ system nie znajduje się w stanie wymaganym do jej wykonania. – „przerwano”: operacja została przerwana, zwykle z powodu problemu równoczesności, takiego jak przerwanie transakcji itp. – „poza zakresem”: podjęto próbę wykonania operacji poza prawidłowym zakresem. – „nie zaimplementowano”: operacja nie została wdrożona lub nie jest obsługiwana/włączona. - „internal”: błędy wewnętrzne. Oznacza, że pewne niezmienniki oczekiwane przez system bazowy zostały uszkodzone. Jeśli widzisz jeden z tych błędów, coś jest bardzo uszkodzone. – „unavailable” (niedostępna): usługa jest obecnie niedostępna. Jest to najprawdopodobniej stan przejściowy, który można rozwiązać, ponawiając próby. - „data-loss”: nieodwracalna utrata lub uszkodzenie danych. - „unauthenticated”: żądanie nie ma prawidłowych danych uwierzytelniających dla tej operacji. |
NestedUpdateFields | W każdym polu (np. „bar”) znajdź wszystkie zagnieżdżone klucze (np. {'bar.baz': T1, 'bar.qux': T2}). Przekrój je, aby utworzyć jedną mapę zawierającą wszystkie możliwe klucze, które są oznaczone jako opcjonalne |
OrderByDirection (Zamówienie w kierunku zamówienia) | Kierunek klauzuli orderBy() jest określony jako „desc” lub „asc” (rosnąco lub malejąco). |
Częściowyz_wartością pola | Podobny do Partial<T> w TypeScript, pozwala jednak na pomijanie zagnieżdżonych pól i przekazywanie wartości FieldValues jako wartości właściwości. |
Podstawowy | Typy podstawowe. |
Typ ograniczenia zapytania | Opisuje różne ograniczenia zapytań dostępne w tym pakiecie SDK. |
QueryFilterConstraint | QueryFilterConstraint to typ sumy pomocniczej, który reprezentuje QueryFieldFilterConstraint i QueryCompositeFilterConstraint. |
QueryNonFilterConstraint | QueryNonFilterConstraint to typ sumy pomocniczej, który reprezentuje ograniczenia QueryConstraints używane do zawężania lub porządkowania zestawu dokumentów, ale które nie są jawnie filtrowane według pola dokumentu. Cele QueryNonFilterConstraint są tworzone przez wywołanie orderBy(), startAt(), startAfter(), endBefore(), endAt(), limit() lub limitToLast(). Następnie można je przekazać do funkcji query()/, aby utworzyć nowe wystąpienie zapytania /.QueryConstraint |
SetOptions | Obiekt opcji, który konfiguruje działanie funkcji setDoc() i wywołania. Te wywołania można skonfigurować tak, aby przeprowadzać szczegółowe scalanie, zamiast zastępować całe dokumenty docelowe za pomocą funkcji SetOptions z merge: true . |
UniaToIntersection | Zwraca typ części wspólnej U = T1 | T2 | ... , zwracany przez typ części wspólnej: (T1 & T2 & ...) .Wykorzystuje dystrybucyjne typy warunkowe i wnioskowanie na podstawie typów warunkowych. Jest to możliwe, ponieważ większa liczba kandydatów dla tej samej zmiennej typu w kontrwariantach 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-type |
UpdateData, | Zaktualizuj dane (do użycia z funkcją updateDoc()), które składają się ze ścieżek pól (np. „foo” lub „foo.baz”) zmapowanych na wartości. Pola zawierające kropki odnoszą się do pól zagnieżdżonych w dokumencie. Wartości FieldValues można przekazywać jako wartości właściwości. |
whereFilterOp | Warunki filtra w klauzuli where() są określane za pomocą ciągów „<”, „<=', '==', '!=', '>=', „>”, „array-contains”, „in”, „array-contains-any” i „not-in”. |
WithFieldValue | Umożliwia przekazywanie wartości FieldValue jako wartości właściwości przy zachowaniu bezpieczeństwa typu. |
funkcja(aplikacja, ...)
getFirestore(aplikacja)
Zwraca istniejącą domyślną instancję Firestore, która jest powiązana z podaną aplikacją FirebaseApp. Jeśli żadna instancja nie istnieje, inicjuje nową z ustawieniami domyślnymi.
Podpis:
export declare function getFirestore(app: FirebaseApp): Firestore;
Parametry
Parametr | Typ | Opis |
---|---|---|
aplikacja | Aplikacja Firebase | Instancja FirebaseApp, z którą jest powiązana zwrócona instancja Firestore. |
Zwroty:
Instancja Firestore podanej aplikacji.
getFirestore(aplikacja; identyfikator bazy danych)
Ten interfejs API jest dostępny w wersji testowej dla deweloperów i może się zmienić w zależności od otrzymanych opinii. Nie używaj tego interfejsu API w środowisku produkcyjnym.
Zwraca istniejącą instancję Firestore, która jest powiązana z podaną aplikacją FirebaseApp. Jeśli żadna instancja nie istnieje, inicjuje nową 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ą jest powiązana zwrócona instancja Firestore. |
identyfikator bazy danych | ciąg znaków | Nazwa bazy danych. |
Zwroty:
Instancja Firestore podanej aplikacji.
zainicjujFirestore(aplikacja; ustawienia)
Inicjuje nową instancję Cloud Firestore z użyciem podanych ustawień. Może zostać wywołana tylko przed innymi funkcjami, w tym getFirestore(). Jeśli ustawienia niestandardowe są puste, ta funkcja odpowiada wywołaniu getFirestore().
Podpis:
export declare function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore;
Parametry
Parametr | Typ | Opis |
---|---|---|
aplikacja | Aplikacja Firebase | FirebaseApp, z którą powiązane będzie wystąpienie Firestore . |
ustawienia | Ustawienia | Obiekt ustawień służący do konfigurowania instancji Firestore . |
Zwroty:
Nowo zainicjowana instancja Firestore
.
zainicjujFirestore(aplikacja; ustawienia; identyfikator_bazy danych)
Ten interfejs API jest dostępny w wersji testowej dla deweloperów i może się zmienić w zależności od otrzymanych opinii. Nie używaj tego interfejsu API w środowisku produkcyjnym.
Inicjuje nową instancję Cloud Firestore z użyciem podanych ustawień. Może zostać wywołana tylko przed innymi funkcjami, w tym getFirestore(). Jeśli ustawienia niestandardowe są puste, ta funkcja odpowiada wywołaniu getFirestore().
Podpis:
export declare function initializeFirestore(app: FirebaseApp, settings: Settings, databaseId?: string): Firestore;
Parametry
Parametr | Typ | Opis |
---|---|---|
aplikacja | Aplikacja Firebase | FirebaseApp, z którą powiązane będzie wystąpienie Firestore . |
ustawienia | Ustawienia | Obiekt ustawień służący do konfigurowania instancji Firestore . |
identyfikator bazy danych | ciąg znaków | Nazwa bazy danych. |
Zwroty:
Nowo zainicjowana instancja Firestore
.
funkcja(firestore, ...)
kolekcja(firestore, Path, PathSegments)
Pobiera instancję CollectionReference
odwołującą się do kolekcji w podanej ścieżce bezwzględnej.
Podpis:
export declare function collection(firestore: Firestore, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;
Parametry
Parametr | Typ | Opis |
---|---|---|
firestore | Firestore | Odwołanie do głównej instancji Firestore . |
ścieżka | ciąg znaków | Rozdzielona ukośnikiem ścieżka do kolekcji. |
segmenty ścieżki | ciąg znaków[] | Dodatkowe segmenty ścieżki do zastosowania w odniesieniu do pierwszego argumentu. |
Zwroty:
CollectionReference<DocumentData, DocumentData>
Instancja CollectionReference
.
Wyjątki
Końcowa ścieżka ma parzystą liczbę segmentów i nie wskazuje zbioru.
grupa_kolekcji(firestore, identyfikator kolekcji)
Tworzy i zwraca nową instancję Query
, która obejmuje wszystkie dokumenty w bazie danych znajdujące się w kolekcji lub podkolekcji o określonym collectionId
.
Podpis:
export declare function collectionGroup(firestore: Firestore, collectionId: string): Query<DocumentData, DocumentData>;
Parametry
Parametr | Typ | Opis |
---|---|---|
firestore | Firestore | Odwołanie do głównej instancji Firestore . |
identyfikator kolekcji | ciąg znaków | Identyfikuje kolekcje, których ma dotyczyć zapytanie. Uwzględniona zostanie każda kolekcja lub podkolekcja o tym identyfikatorze, który jest ostatnim segmentem jej ścieżki. Nie może zawierać ukośnika. |
Zwroty:
Zapytanie<DocumentData, DocumentData>
Utworzono: Query
.
ConnectFirestoreEmulator(firestore, host, port, options)
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 |
---|---|---|
firestore | Firestore | Instancja Firestore , która ma zostać skonfigurowana pod kątem połączenia z emulatorem. |
host | ciąg znaków | hosta emulatora (np. localhost). |
port | liczba | port emulatora (np. 9000). |
opcje | { mockUserToken?: EmulatorMockTokenOptions | string; |
Zwroty:
nieważne
doc(firestore, ścieżka, PathSegments)
Pobiera wystąpienie DocumentReference
odwołujące się do dokumentu w podanej ścieżce bezwzględnej.
Podpis:
export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;
Parametry
Parametr | Typ | Opis |
---|---|---|
firestore | Firestore | Odwołanie do głównej instancji Firestore . |
ścieżka | ciąg znaków | Ścieżka do dokumentu rozdzielana ukośnikami. |
segmenty ścieżki | ciąg znaków[] | Dodatkowe segmenty ścieżki, które zostaną zastosowane w stosunku do pierwszego argumentu. |
Zwroty:
DocumentReference<DocumentData, DocumentData>
Instancja DocumentReference
.
Wyjątki
Jeśli końcowa ścieżka ma nieparzystą liczbę segmentów i nie wskazuje dokumentu.
runTransaction(firestore, updateFunction, opcje)
Wykonuje określony updateFunction
, a następnie próbuje zatwierdzić zmiany zastosowane w transakcji. Jeśli jakikolwiek odczytywany dokument w transakcji uległ zmianie, Cloud Firestore ponawia próbę wykonania operacji updateFunction
. Jeśli nie uda się potwierdzić po 5 próbach, transakcja zakończy się niepowodzeniem.
Maksymalna dozwolona liczba zapisów w jednej transakcji to 500.
Podpis:
export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;
Parametry
Parametr | Typ | Opis |
---|---|---|
firestore | Firestore | Odwołanie do bazy danych Firestore, w odniesieniu do której ma zostać uruchomiona ta transakcja. |
funkcja updateFunction | (transaction: Transaction) => Obietnica<T> | Funkcja do wykonania w kontekście transakcji. |
opcje | TransactionOptions (Opcje transakcji). | Obiekt opcji służący do konfigurowania maksymalnej liczby prób do zatwierdzenia. |
Zwroty:
Obietnica<T>
Jeśli transakcja została ukończona lub została jawnie przerwana (updateFunction
zwrócił nieudaną obietnicę), w tym miejscu zwracana jest obietnica zwrócona przez obiekt updateFunction
. W przeciwnym razie, jeśli transakcja się nie udała, zwracana jest odrzucona obietnica z odpowiednim błędem błędu.
zakończyć(firestore)
Zatrzymuje podaną instancję Firestore
.
Po wywołaniu funkcji terminate()
można używać tylko funkcji clearIndexedDbPersistence()
. Każda inna funkcja zgłasza FirestoreError
. Zakończenie nie powoduje anulowania oczekujących zapisów, a wszystkie obietnice, które oczekują na odpowiedź z serwera, nie zostaną zrealizowane.
Aby uruchomić ponownie po zakończeniu działania, utwórz nową instancję instancji Firestore
z funkcją getFirestore().
Podpis:
export declare function terminate(firestore: Firestore): Promise<void>;
Parametry
Parametr | Typ | Opis |
---|---|---|
firestore | Firestore | Instancja Firestore do zamknięcia. |
Zwroty:
Obietnica<void>
Promise
, który jest rozstrzygnięty po zakończeniu działania instancji.
zapis wsadowy(firestore)
Tworzy wsad zapisu służącą do wykonywania wielu zapisów jako pojedynczej operacji niepodzielnej. Maksymalna dozwolona liczba zapisów w pojedynczej operacji WriteBatch to 500.
Wynik tych zapisów będzie widoczny tylko w odczytach dokumentów, które mają miejsce po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, zapis się nie uda. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore.
Podpis:
export declare function writeBatch(firestore: Firestore): WriteBatch;
Parametry
Parametr | Typ | Opis |
---|---|---|
firestore | Firestore |
Zwroty:
WriteBatch
, który może być używany do atomowego wykonywania wielu zapisów.
funkcja()
count()
Utwórz obiekt AggregateField, którego można użyć do obliczenia liczby dokumentów w zbiorze wynikowym zapytania.
Podpis:
export declare function count(): AggregateField<number>;
Zwroty:
AggregateField<numer>
deleteField()
Zwraca czujnik do użycia z funkcją updateDoc() lub setDoc() z funkcją {merge: true}
do oznaczenia pola do usunięcia.
Podpis:
export declare function deleteField(): FieldValue;
Zwroty:
documentId()
Zwraca specjalny wskaźnik FieldPath
, który odnosi się do identyfikatora dokumentu. Można go używać w zapytaniach do sortowania i filtrowania według identyfikatora dokumentu.
Podpis:
export declare function documentId(): FieldPath;
Zwroty:
getFirestore()
Zwraca istniejącą domyślną instancję Firestore, która jest powiązana z domyślną aplikacją FirebaseApp. Jeśli żadna instancja nie istnieje, inicjuje nową z ustawieniami domyślnymi.
Podpis:
export declare function getFirestore(): Firestore;
Zwroty:
Instancja Firestore podanej aplikacji.
servertimestamp()
Zwraca wartość czujnika używaną z funkcją setDoc() lub updateDoc(), aby uwzględnić w zapisanych danych sygnaturę czasową wygenerowaną przez serwer.
Podpis:
export declare function serverTimestamp(): FieldValue;
Zwroty:
funkcji(identyfikatorbazy_danych, ...)
getFirestore(databaseId)
Ten interfejs API jest dostępny w wersji testowej dla deweloperów i może się zmienić w zależności od otrzymanych opinii. Nie używaj tego interfejsu API w środowisku produkcyjnym.
Zwraca istniejącą instancję Firestore powiązaną z domyślną aplikacją FirebaseApp. Jeśli żadna instancja nie istnieje, inicjuje nową z ustawieniami domyślnymi.
Podpis:
export declare function getFirestore(databaseId: string): Firestore;
Parametry
Parametr | Typ | Opis |
---|---|---|
identyfikator bazy danych | ciąg znaków | Nazwa bazy danych. |
Zwroty:
Instancja Firestore podanej aplikacji.
funkcja(elementy, ...)
tablicaRemove(elements)
Zwraca wartość specjalną, której można użyć z funkcją setDoc() lub informuje serwer, że ma 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 zastąpione pustą tablicą.
Podpis:
export declare function arrayRemove(...elements: unknown[]): FieldValue;
Parametry
Parametr | Typ | Opis |
---|---|---|
elementy | nieznana[] | Elementy do usunięcia z tablicy. |
Zwroty:
Wieża FieldValue
do użycia w wywołaniu z setDoc()
lub updateDoc()
tablicaUnion(elementy)
Zwraca wartość specjalną, której można użyć w przypadku funkcji setDoc() lub updateDoc(), która informuje serwer, że ma połączyć podane elementy z dowolną wartością tablicy, która już istnieje na serwerze. Każdy określony element, którego jeszcze nie ma w tablicy, zostanie dodany na końcu. Jeśli modyfikowane pole nie jest jeszcze tablicą, zostanie ona zastąpiona tablicą zawierającą dokładnie określone elementy.
Podpis:
export declare function arrayUnion(...elements: unknown[]): FieldValue;
Parametry
Parametr | Typ | Opis |
---|---|---|
elementy | nieznana[] | Elementy, które mają zostać połączone z tablicą. |
Zwroty:
wartownik FieldValue
do użycia w wywołaniu setDoc()
lub updateDoc()
.
funkcja(pole, ...)
średnia(pole)
Utwórz obiekt AggregateField, którego można używać do obliczania średniej wartości z określonego pola dla zakresu dokumentów w zbiorze wynikowym zapytania.
Podpis:
export declare function average(field: string | FieldPath): AggregateField<number | null>;
Parametry
Parametr | Typ | Opis |
---|---|---|
pole | ciąg znaków | FieldPath | Określa pole do uśrednienia w zestawie wyników. |
Zwroty:
AggregateField<numer | null>
suma(pole)
Utwórz obiekt AggregateField, którego można używać do obliczania sumy określonego pola w zakresie dokumentów w zbiorze wynikowym zapytania.
Podpis:
export declare function sum(field: string | FieldPath): AggregateField<number>;
Parametry
Parametr | Typ | Opis |
---|---|---|
pole | ciąg znaków | FieldPath | Określa pole do zsumowania w zbiorze wyników. |
Zwroty:
AggregateField<numer>
function(fieldPath, ...)
orderBy(fieldPath, directionsStr)
Tworzy funkcję QueryOrderByConstraint, która sortuje wynik zapytania według podanego pola (opcjonalnie w kolejności malejącej, a nie rosnąco).
Podpis:
export declare function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
FieldPath | ciąg znaków | FieldPath | Pole, według którego ma być sortowane. |
KierunekStr | OrderByDirection (Zamówienie w kierunku zamówienia) | Opcjonalny kierunek sortowania „asc” lub „malejąco”). Jeśli nie podasz żadnej wartości, będzie rosnąć. |
Zwroty:
Utworzono QueryOrderByConstraint.
gdzie(polePath, opStr, wartość)
Tworzy obiekt QueryFieldFilterConstraint, który wymusza, by dokumenty zawierały określone pole, a wartość spełniała podane ograniczenie relacji.
Podpis:
export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
FieldPath | ciąg znaków | FieldPath | Ścieżka do porównania |
opStr | whereFilterOp | Ciąg operacji (np. "<", "<=", "==", "<", "<=", "!="). |
wartość | nieznany | Wartość do porównania |
Zwroty:
Utworzono QueryFieldFilterConstraint.
function(fieldValues, ...)
endAt(fieldValues)
Tworzy obiekt QueryEndAtConstraint, który zmienia wyniki tak, aby kończyć się w podanych polach względem kolejności zapytania. Kolejność wartości pól musi być zgodna z kolejnością klauzul zapytania.
Podpis:
export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
PoleValues (wartości pola) | nieznana[] | Wartości pól, na których ma się zakończyć to zapytanie, w kolejności według: |
Zwroty:
Element QueryEndAtConstraint przekazywany do funkcji query()
endBefore(fieldValues)
Tworzy obiekt QueryEndAtConstraint, który zmienia wynik tak, aby kończył się przed podanymi polami zgodnie z kolejnością zapytania. Kolejność wartości pól musi być zgodna z kolejnością klauzul zapytania.
Podpis:
export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
PoleValues (wartości pola) | nieznana[] | Wartości pól, które mają zakończyć to zapytanie, w kolejności według: |
Zwroty:
Element QueryEndAtConstraint przekazywany do funkcji query()
startAfter(fieldValues)
Tworzy obiekt QueryStartAtConstraint, który modyfikuje zbiór wyników tak, aby rozpoczynał się po podanych polach zgodnie z kolejnością zapytania. Kolejność wartości pól musi być zgodna z kolejnością klauzul zapytania.
Podpis:
export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
PoleValues (wartości pola) | nieznana[] | Wartości pól, po których ma się rozpoczynać to zapytanie, w kolejności zależnej od ich kolejności. |
Zwroty:
Element QueryStartAtConstraint przekazywany do funkcji query()
startAt(fieldValues)
Tworzy obiekt QueryStartAtConstraint, który modyfikuje zbiór 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.
Podpis:
export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
PoleValues (wartości pola) | nieznana[] | Wartości pól, od których ma się rozpoczynać to zapytanie, w kolejności zależnej od ich kolejności. |
Zwroty:
Typ QueryStartAtConstraint przekazywany do funkcji query()
.
funkcja(po lewej, ...)
zbiorczeFieldEqual(po lewej, po prawej)
Porównuje 2 instancje „AggregateField”, aby zapewnić równość.
Podpis:
export declare function aggregateFieldEqual(left: AggregateField<unknown>, right: AggregateField<unknown>): boolean;
Parametry
Parametr | Typ | Opis |
---|---|---|
lewa | AggregateField<nieznana> | Porównaj to pole AggregateField z polem right . |
prawa | AggregateField<nieznana> | Porównaj to pole AggregateField z polem left . |
Zwroty:
wartość logiczna
zbiorczeQuerySnapshotEqual(po lewej, po prawej)
Porównuje 2 instancje AggregateQuerySnapshot
pod kątem równości.
2 instancje typu AggregateQuerySnapshot
są uznawane za „równe” jeśli mają podstawowe zapytania, które porównują 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 |
---|---|---|
lewa | AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType> | Pierwsze AggregateQuerySnapshot do porównania. |
prawa | AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType> | Drugie pole AggregateQuerySnapshot do porównania. |
Zwroty:
wartość logiczna
true
, jeśli obiekty są „równe”, jak określono powyżej, lub false
w innym przypadku.
queryEqual(lewo; prawo)
Zwraca wartość „prawda”, jeśli podane zapytania wskazują tę samą kolekcję i stosują 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 |
---|---|---|
lewa | Zapytanie<AppModelType, DbModelType> | Query do porównania. |
prawa | Zapytanie<AppModelType, DbModelType> | Query do porównania. |
Zwroty:
wartość logiczna
true (prawda), jeśli odwołania wskazują tę samą lokalizację w tej samej bazie danych Firestore.
refEqual(po lewej, po prawej)
Zwraca wartość prawda, jeśli podane odwołania 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 |
---|---|---|
lewa | DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType> | Odwołanie do porównania. |
prawa | DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType> | Odwołanie do porównania. |
Zwroty:
wartość logiczna
true (prawda), jeśli odwołania wskazują tę samą lokalizację w tej samej bazie danych Firestore.
zrzut równa(po lewej, po prawej)
Zwraca wartość „prawda”, jeśli podane zrzuty 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 |
---|---|---|
lewa | DocumentSnapshot<AppModelType, DbModelType> | Zrzut zapytania<AppModelType, DbModelType> | Migawka do porównania. |
prawa | DocumentSnapshot<AppModelType, DbModelType> | Zrzut zapytania<AppModelType, DbModelType> | Migawka do porównania. |
Zwroty:
wartość logiczna
true (prawda), jeśli zrzuty są równe.
funkcja(limit, ...)
limit(limit)
Tworzy zasadę QueryLimitConstraint, która zwraca tylko pierwsze pasujące dokumenty.
Podpis:
export declare function limit(limit: number): QueryLimitConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
limit | liczba | Maksymalna liczba produktów do zwrotu. |
Zwroty:
Utworzono QueryLimitConstraint.
limitToLast(limit)
Tworzy zasadę QueryLimitConstraint, która zwraca tylko ostatnie pasujące dokumenty.
Dla zapytań limitToLast
musisz określić co najmniej 1 klauzulę orderBy
. W przeciwnym razie podczas wykonywania zostanie zgłoszony wyjątek.
Podpis:
export declare function limitToLast(limit: number): QueryLimitConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
limit | liczba | Maksymalna liczba produktów do zwrotu. |
Zwroty:
Utworzono QueryLimitConstraint.
function(logLevel, ...)
setLogLevel(logLevel)
Ustawia szczegółowość logów Cloud Firestore (debugowanie, błędy lub ciche).
Podpis:
export declare function setLogLevel(logLevel: LogLevel): void;
Parametry
Parametr | Typ | Opis |
---|---|---|
poziom logu | Poziom logu | Szczegółowość ustawiona w przypadku rejestrowania aktywności i błędów. Może mieć dowolną z tych wartości:
|
Zwroty:
nieważne
funkcja(n, ...)
przyrost(n)
Zwraca wartość specjalną, której można użyć z funkcją setDoc() lub updateDoc(), która informuje serwer, że ma zwiększyć bieżącą wartość pola o podaną wartość.
Jeśli operand lub wartość pola bieżącej wykorzystuje precyzję zmiennoprzecinkową, wszystkie funkcje arytmetyczne są zgodne z semantyką IEEE 754. Jeśli obie wartości są liczbami całkowitymi, wartości spoza bezpiecznego zakresu liczbowego kodu JavaScript (Number.MIN_SAFE_INTEGER
–Number.MAX_SAFE_INTEGER
) również podlegają utracie dokładności. Ponadto po przetworzeniu przez backend Firestore wszystkie operacje na liczbach całkowitych są ograniczone z zakresu od -2^63 do 2^63-1.
Jeśli bieżąca wartość pola nie ma typu number
lub jeśli pole jeszcze nie istnieje, przekształcenie ustawia w polu podaną wartość.
Podpis:
export declare function increment(n: number): FieldValue;
Parametry
Parametr | Typ | Opis |
---|---|---|
n | liczba | Wartość, o którą ma być zwiększana. |
Zwroty:
Wieża FieldValue
do użycia w wywołaniu z setDoc()
lub updateDoc()
funkcja(zapytanie; ...)
getAggregate(zapytanie, AggregateSpec)
Oblicza określone agregacje na dokumentach w zestawie wyników danego zapytania bez pobierania dokumentów.
Korzystanie z tej funkcji do przeprowadzania agregacji jest skuteczne, ponieważ tylko ostateczne wartości agregacji, a nie wartości dokumentów danych. Ta funkcja może agregować dokumenty, gdy zbiór wyników jest zbyt duży do pobrania w całości (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 zbiór wyników jest agregowany. |
agregacja specyfikacji | Typ specyfikacji agregacji | Obiekt AggregateSpec , który określa agregacje, które mają zostać wykonane w stosunku do zbioru wyników. Metoda AggregateSpec określa aliasy każdej agregacji, których można używać do pobierania wyników zagregowanych. |
Zwroty:
Promise<AggregateQuerySnapshot<AggregateSpecType, 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 zbiorze wyników danego zapytania bez pobierania dokumentów.
Użycie tej funkcji do liczenia dokumentów jest wydajne, ponieważ dochodzi do liczenia ostatecznej liczby, a nie dokumentów danych. Ta funkcja może zliczać dokumenty w przypadkach, gdy zestaw wyników jest zbyt duży do pobrania w całości (tysiąc 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 zbioru wyników jest obliczany. |
Zwroty:
Obietnica<AggregateQuerySnapshot<{ count: AggregateField<number>; }, AppModelType, DbModelType>>
obietnica, która zostanie rozstrzygnięta; liczbę można pobrać z zakresu snapshot.data().count
, gdzie snapshot
to wartość AggregateQuerySnapshot
, którą realizuje zwrócona obietnica.
getDocuments(zapytanie)
Wykonuje zapytanie i zwraca wyniki w postaci QuerySnapshot.
Wszystkie zapytania są wykonywane bezpośrednio przez serwer, nawet jeśli zapytanie zostało wykonane wcześniej. Ostatnie zmiany są odzwierciedlane w pobranych wynikach tylko wtedy, gdy zostały już zastosowane przez backend. Jeśli klient jest offline, operacja się nie uda. Aby wyświetlić wyniki wcześniej zapisane w pamięci podręcznej i zmiany lokalne, użyj pełnego pakietu 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:
Obietnica<QuerySnapshot<AppModelType, DbModelType>>
Obietnica, która zostanie zrealizowana dzięki wynikom zapytania.
zapytanie(zapytanie, kompozytowy filtr, ograniczenia zapytań)
Tworzy nową, niezmienną instancję zapytania, która jest rozszerzona o uwzględnienie dodatkowych ograniczeń dotyczących zapytań.
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 Zapytanie, która ma być używana jako podstawa dla nowych ograniczeń. |
Filtr złożony | Ograniczenie filtra QueryCompositeFilter | Wartość QueryCompositeFilterConstraint, która ma zostać zastosowana. Utwórz QueryCompositeFilterConstraint za pomocą funkcji and() lub or(). |
Ograniczenia zapytań | QueryNonFilterConstraint[] | Dodatkowe parametry QueryNonFilterConstraint do zastosowania (np. orderBy(), limit()). |
Zwroty:
Zapytanie<AppModelType, DbModelType>
Wyjątki
jeśli żadnego z podanych ograniczeń dotyczących zapytań nie można połączyć z istniejącymi lub nowymi ograniczeniami.
zapytanie(zapytanie; ograniczenia zapytań)
Tworzy nową, niezmienną instancję zapytania, która jest rozszerzona o uwzględnienie dodatkowych ograniczeń dotyczących zapytań.
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 Zapytanie, która ma być używana jako podstawa dla nowych ograniczeń. |
Ograniczenia zapytań | Ograniczenie zapytania[] | Lista ograniczeń zapytań, które mają zostać zastosowane. |
Zwroty:
Zapytanie<AppModelType, DbModelType>
Wyjątki
jeśli żadnego z podanych ograniczeń dotyczących zapytań nie można połączyć z istniejącymi lub nowymi ograniczeniami.
function(queryConstraints, ...)
and(queryConstraints)
Tworzy nową funkcję QueryCompositeFilterConstraint, która łączy podane ograniczenia filtra. Filtr koniunkcyjny obejmuje dokument, jeśli spełnia wszystkie określone filtry.
Podpis:
export declare function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
Ograniczenia zapytań | QueryFilterConstraint[] | Opcjonalnie. Lista QueryFilterConstraints, dla której ma zostać przedstawiony spójnik. Należy je tworzyć z wywołaniami where(), or() lub and(). |
Zwroty:
Ograniczenie filtra QueryCompositeFilter
Nowo utworzony QueryCompositeFilterConstraint.
or(queryConstraints)
Tworzy nową funkcję QueryCompositeFilterConstraint, która stanowi rozdzielenie podanych ograniczeń filtra. Filtr dystrybucji powoduje uwzględnienie dokumentu, jeśli spełnia on którykolwiek z podanych filtrów.
Podpis:
export declare function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
Ograniczenia zapytań | QueryFilterConstraint[] | Opcjonalnie. Lista QueryFilterConstraints, dla której mają zostać wykonane rozłączenia. Należy je tworzyć z wywołaniami where(), or() lub and(). |
Zwroty:
Ograniczenie filtra QueryCompositeFilter
Nowo utworzony QueryCompositeFilterConstraint.
funkcja(odwołanie, ...)
addDoc(odwołanie; dane)
Dodaj do określonego elementu CollectionReference
nowy dokument z podanymi danymi, automatycznie przypisując mu identyfikator dokumentu.
Wynik tego zapisu będzie widoczny tylko w odczytach dokumentów, które mają miejsce po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, zapis się nie uda. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu 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> | Odwołanie do kolekcji, do której ma zostać dodany ten dokument. |
dane | WithFieldValue<AppModelType> | Obiekt zawierający dane nowego dokumentu. |
Zwroty:
Promise<DocumentReference<AppModelType, DbModelType>>
Pole Promise
zostało rozwiązane za pomocą parametru DocumentReference
wskazującego nowo utworzony dokument po zapisaniu go w backendzie.
Wyjątki
Błąd – jeśli podane dane wejściowe nie są prawidłowym dokumentem Firestore.
kolekcja(odwołanie; ścieżka; segmenty ścieżki)
Pobiera instancję CollectionReference
odwołującą się do podkolekcji reference
w 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> | Odwołanie do kolekcji. |
ścieżka | ciąg znaków | Rozdzielona ukośnikiem ścieżka do kolekcji. |
segmenty ścieżki | ciąg znaków[] | Dodatkowe segmenty ścieżki do zastosowania w odniesieniu do pierwszego argumentu. |
Zwroty:
CollectionReference<DocumentData, DocumentData>
Instancja CollectionReference
.
Wyjątki
Końcowa ścieżka ma parzystą liczbę segmentów i nie wskazuje zbioru.
kolekcja(odwołanie; ścieżka; segmenty ścieżki)
Pobiera instancję CollectionReference
odwołującą się do podkolekcji reference
w 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 | DocumentReference<AppModelType, DbModelType> | Odwołanie do dokumentu Firestore. |
ścieżka | ciąg znaków | Rozdzielona ukośnikiem ścieżka do kolekcji. |
segmenty ścieżki | ciąg znaków[] | Dodatkowe segmenty ścieżki, które zostaną zastosowane w stosunku do pierwszego argumentu. |
Zwroty:
CollectionReference<DocumentData, DocumentData>
Instancja CollectionReference
.
Wyjątki
Końcowa ścieżka ma parzystą liczbę segmentów i nie wskazuje zbioru.
deleteDoc(odwołanie)
Usuwa dokument, do którego odwołuje się określony element DocumentReference
.
Usunięcie będzie widoczne tylko w odczytach dokumentów, które mają miejsce po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, usunięcie się nie powiedzie. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu SDK Firestore.
Podpis:
export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;
Parametry
Parametr | Typ | Opis |
---|---|---|
odniesienie | DocumentReference<AppModelType, DbModelType> | Odwołanie do dokumentu, który ma zostać usunięty. |
Zwroty:
Obietnica<void>
Błąd Promise
został rozwiązany po usunięciu dokumentu z backendu.
doc(odwołanie; ścieżka; segmenty ścieżek)
Pobiera wystąpienie DocumentReference
odwołujące się do dokumentu z domeny reference
w określonej ścieżce względnej. Jeśli nie podasz ścieżki, dla zwróconego zasobu DocumentReference
zostanie użyty automatycznie wygenerowany 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> | Odwołanie do kolekcji. |
ścieżka | ciąg znaków | Ścieżka do dokumentu rozdzielana ukośnikami. Trzeba to pominąć, by użyć automatycznie generowanych identyfikatorów. |
segmenty ścieżki | ciąg znaków[] | Dodatkowe segmenty ścieżki, które zostaną zastosowane w stosunku do pierwszego argumentu. |
Zwroty:
DocumentReference<AppModelType, DbModelType>
Instancja DocumentReference
.
Wyjątki
Jeśli końcowa ścieżka ma nieparzystą liczbę segmentów i nie wskazuje dokumentu.
doc(odwołanie; ścieżka; segmenty ścieżek)
Pobiera wystąpienie DocumentReference
odwołujące się do dokumentu z domeny reference
w 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 | DocumentReference<AppModelType, DbModelType> | Odwołanie do dokumentu Firestore. |
ścieżka | ciąg znaków | Ścieżka do dokumentu rozdzielana ukośnikami. |
segmenty ścieżki | ciąg znaków[] | Dodatkowe segmenty ścieżki, które zostaną zastosowane w stosunku do pierwszego argumentu. |
Zwroty:
DocumentReference<DocumentData, DocumentData>
Instancja DocumentReference
.
Wyjątki
Jeśli końcowa ścieżka ma nieparzystą liczbę segmentów i nie wskazuje dokumentu.
getDoc(odwołanie)
Odczytuje dokument, do którego odwołuje się określone odwołanie do dokumentu.
Wszystkie dokumenty są pobierane bezpośrednio z serwera, nawet jeśli dokument został wcześniej odczytany lub zmodyfikowany. Ostatnie zmiany są odzwierciedlane w pobranych DocumentSnapshot
tylko wtedy, gdy zostały już zastosowane przez backend. Jeśli klient jest offline, odczyt się nie uda. Jeśli chcesz korzystać z buforowania lub lokalnych modyfikacji, użyj pełnego pakietu SDK Firestore.
Podpis:
export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;
Parametry
Parametr | Typ | Opis |
---|---|---|
odniesienie | DocumentReference<AppModelType, DbModelType> | Odniesienie do dokumentu do pobrania. |
Zwroty:
Promise<DocumentSnapshot<AppModelType, DbModelType>>
Obietnica rozwiązana za pomocą elementu DocumentSnapshot
zawierającego bieżącą zawartość dokumentu.
setDoc(odwołanie; dane)
Zapisuje dane w dokumencie, do którego odwołuje się określony element DocumentReference
. Jeśli dokument jeszcze nie istnieje, zostanie utworzony.
Wynik tego zapisu będzie widoczny tylko w odczytach dokumentów, które mają miejsce po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, zapis się nie uda. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu 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 | DocumentReference<AppModelType, DbModelType> | Odwołanie do dokumentu do zapisania. |
dane | WithFieldValue<AppModelType> | Mapa pól i wartości dokumentu. |
Zwroty:
Obietnica<void>
Działanie Promise
zostało rozwiązane po zapisaniu danych w backendzie.
Wyjątki
Błąd – jeśli podane dane wejściowe nie są prawidłowym dokumentem Firestore.
setDoc(odwołanie; dane; opcje)
Zapisuje dane w dokumencie, do którego odwołuje się określony element DocumentReference
. Jeśli dokument jeszcze nie istnieje, zostanie utworzony. Jeśli podasz merge
lub mergeFields
, podane dane zostaną scalone w istniejący dokument.
Wynik tego zapisu będzie widoczny tylko w odczytach dokumentów, które mają miejsce po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, zapis się nie uda. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu 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 | DocumentReference<AppModelType, DbModelType> | Odwołanie do dokumentu do zapisania. |
dane | częściowo z wartością pola<AppModelType> | Mapa pól i wartości dokumentu. |
opcje | SetOptions | Obiekt do skonfigurowania zachowania zestawu. |
Zwroty:
Obietnica<void>
Działanie Promise
zostało rozwiązane po zapisaniu danych w backendzie.
Wyjątki
Błąd – jeśli podane dane wejściowe nie są prawidłowym dokumentem Firestore.
updateDoc(odwołanie; dane)
Aktualizuje pola w dokumencie, do którego odwołuje się podany element DocumentReference
. Aktualizacja się nie powiedzie, jeśli zostanie zastosowana do nieistniejącego dokumentu.
Wynik tej aktualizacji będzie widoczny tylko w odczytach dokumentów, które mają miejsce po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, aktualizacja się nie powiedzie. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu 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 | DocumentReference<AppModelType, DbModelType> | Odwołanie do dokumentu do zaktualizowania. |
dane | UpdateData<DbModelType> | Obiekt zawierający pola i wartości do zaktualizowania dokumentu. Pola mogą zawierać kropki, aby odwoływać się do zagnieżdżonych pól w dokumencie. |
Zwroty:
Obietnica<void>
Działanie Promise
zostało rozwiązane po zapisaniu danych w backendzie.
Wyjątki
Błąd – jeśli podane dane wejściowe są nieprawidłowe dla danych Firestore.
updateDoc(odwołanie; pole; wartość; moreFieldsAndValues)
Aktualizuje pola w dokumencie, do którego odwołuje się podany DocumentReference
. Aktualizacja zakończy się niepowodzeniem, jeśli zostanie zastosowana do nieistniejącego dokumentu.
Zagnieżdżone pola można aktualizować, podając rozdzielone kropkami ciągi ścieżek pól lub obiekty FieldPath
.
Wynik tej aktualizacji będzie widoczny tylko w odczytach dokumentów, które mają miejsce po rozwiązaniu zwróconej obietnicy. Jeśli klient jest offline, aktualizacja się nie powiedzie. Jeśli chcesz wyświetlać lokalne zmiany lub zapisy w buforze, dopóki klient nie będzie online, użyj pełnego pakietu 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 | DocumentReference<AppModelType, DbModelType> | Odwołanie do dokumentu do zaktualizowania. |
pole | ciąg znaków | FieldPath | Pierwsze pole do zaktualizowania. |
wartość | nieznany | Pierwsza wartość. |
więcej pól i wartości | nieznana[] | Dodatkowe pary klucz-wartość. |
Zwroty:
Obietnica<void>
Działanie Promise
zostało rozwiązane po zapisaniu danych w backendzie.
Wyjątki
Błąd – jeśli podane dane wejściowe są nieprawidłowe dla danych Firestore.
funkcja(zrzut; ...)
endAt(zrzut)
Tworzy obiekt QueryEndAtConstraint, który zmienia zbiór 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 określone w polu orderBy zapytania.
Podpis:
export declare function endAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
zrzut | DocumentSnapshot<AppModelType, DbModelType> | Migawka dokumentu, na której ma się kończyć. |
Zwroty:
Element QueryEndAtConstraint przekazywany do funkcji query()
endPrzed(zrzut)
Tworzy obiekt QueryEndAtConstraint, który zmienia (z wyłączeniem) wartość ustawioną na koniec przed podanym dokumentem. Pozycja końcowa zależy od kolejności zapytania. Dokument musi zawierać wszystkie pola określone w polu orderBy zapytania.
Podpis:
export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
zrzut | DocumentSnapshot<AppModelType, DbModelType> | Migawka dokumentu, która ma się zakończyć wcześniej. |
Zwroty:
Element QueryEndAtConstraint przekazywany do funkcji query()
startAfter(zrzut)
Tworzy obiekt QueryStartAtConstraint, który zmienia zbiór wyników tak, aby rozpoczynał się po dostarczonym dokumencie (z wyłączeniem). Pozycja początkowa zależy od kolejności zapytania. Dokument musi zawierać wszystkie pola określone w polu orderBy zapytania.
Podpis:
export declare function startAfter<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
zrzut | DocumentSnapshot<AppModelType, DbModelType> | Migawka dokumentu, po której ma nastąpić uruchomienie. |
Zwroty:
Element QueryStartAtConstraint przekazywany do funkcji query()
startAt(zrzut)
Tworzy obiekt QueryStartAtConstraint, który modyfikuje zbiór 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 wymienione w polu orderBy
tego zapytania.
Podpis:
export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;
Parametry
Parametr | Typ | Opis |
---|---|---|
zrzut | DocumentSnapshot<AppModelType, DbModelType> | Migawka dokumentu, od której ma się zaczynać. |
Zwroty:
Typ QueryStartAtConstraint przekazywany do funkcji query()
.
funkcja(wartości, ...)
wektor(wartości)
Tworzy nowy obiekt VectorValue
utworzony na podstawie kopii podanej tablicy liczb.
Podpis:
export declare function vector(values?: number[]): VectorValue;
Parametry
Parametr | Typ | Opis |
---|---|---|
wartości | liczba[] | Utwórz instancję VectorValue z kopią tej tablicy liczb. |
Zwroty:
Nowy obiekt VectorValue
utworzony na podstawie kopii podanej tablicy liczb.
DodajPrefixToKeys
Zwraca nową mapę, w której każdy klucz jest poprzedzony kropką dołączonej do klucza zewnętrznego.
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];
};
Typ pola agregacji
Związek wszystkich typów AggregateField
obsługiwanych przez Firestore.
Podpis:
export declare type AggregateFieldType = ReturnType<typeof sum> | ReturnType<typeof average> | ReturnType<typeof count>;
Dane specyfikacji zbiorczej
Typ, którego klucze są pobierane z elementu AggregateSpec
, a jego wartości są wynikiem agregacji przeprowadzonej przez odpowiednie AggregateField
na podstawie danych wejściowych AggregateSpec
.
Podpis:
export declare type AggregateSpecData<T extends AggregateSpec> = {
[P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
};
Typ agregacji
Typ sumy reprezentujący typ agregacji do wykonania.
Podpis:
export declare type AggregateType = 'count' | 'avg' | 'sum';
ChildUpdateFields (Pola aktualizacji podrzędnych)
Pomoc do obliczania zagnieżdżonych pól dla danego typu T1. Jest to konieczne, aby rozdzielić typy połączeń, takie jak undefined | {...}
(dzieje się w przypadku opcjonalnych rekwizytów) lub {a: A} | {b: B}
.
W tym przypadku użycia funkcji V
służy do rozdzielania typów sumowania T[K]
w obiekcie Record
, ponieważ T[K]
jest obliczana jako wyrażenie i nie jest rozproszona.
Więcej informacji znajdziesz na stronie 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;
Kod błędu Firestore
Zestaw kodów stanu Firestore. Kody są takie same jak te widoczne przez gRPC tutaj: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md
Możliwe wartości: – „cancelled” (anulowano): operacja została anulowana (zwykle przez osobę wywołującą). – „Nieznany”: nieznany błąd lub błąd z innej domeny błędu. - 'invalid-argument”: klient podał nieprawidłowy argument. Pamiętaj, że to nie to samo co „niespełniony warunek wstępny”. „nieprawidłowy argument” wskazuje argumenty, które powodują problemy niezależnie od stanu systemu (np. nieprawidłowa nazwa pola). – „deadline-overeded” (przekroczono termin): upłynął termin przed ukończeniem operacji. W przypadku operacji, które zmieniają stan systemu, ten błąd może zostać zwrócony nawet wtedy, gdy operacja zakończyła się pomyślnie. Na przykład pomyślna odpowiedź serwera mogła być tak opóźniona, że termin upłynął. – „not-found” (nie znaleziono): niektóre żądane dokumenty nie zostały znalezione. - „already-exists”: istnieje już dokument, który próbowaliśmy utworzyć. - „permission-denied”: element wywołujący nie ma uprawnień do wykonania określonej operacji. - „wyczerpanie zasobu”: część zasobów została wyczerpany, być może limit na użytkownika lub w całym systemie plików brakuje miejsca. – „niepowodzenie-warunek wstępny”: operacja została odrzucona, ponieważ system nie znajduje się w stanie wymaganym do jej wykonania. – „przerwano”: operacja została przerwana, zwykle z powodu problemu równoczesności, takiego jak przerwanie transakcji itp. – „poza zakresem”: podjęto próbę wykonania operacji poza prawidłowym zakresem. – „nie zaimplementowano”: operacja nie została wdrożona lub nie jest obsługiwana/włączona. - „internal”: błędy wewnętrzne. Oznacza, że pewne niezmienniki oczekiwane przez system bazowy zostały uszkodzone. Jeśli widzisz jeden z tych błędów, coś jest bardzo uszkodzone. – „unavailable” (niedostępna): usługa jest obecnie niedostępna. Jest to najprawdopodobniej stan przejściowy, który można rozwiązać, ponawiając próby. - „data-loss”: nieodwracalna utrata lub uszkodzenie danych. - „unauthenticated”: żądanie nie ma prawidłowych danych uwierzytelniających dla tej 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
W każdym polu (np. „bar”) znajdź wszystkie zagnieżdżone klucze (np. {'bar.baz': T1, 'bar.qux': T2}). Przekrój je, aby utworzyć 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]>;
Kolejność według kierunku
Kierunek klauzuli orderBy() jest określony jako „desc” lub „asc” (rosnąco lub malejąco).
Podpis:
export declare type OrderByDirection = 'desc' | 'asc';
Częściowe z wartością pola
Podobnie jak Partial<T>
w TypeScript, umożliwia pomijanie zagnieżdżonych pól i przekazywanie wartości FieldValues 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);
Podstawowy
Typy podstawowe.
Podpis:
export declare type Primitive = string | number | boolean | undefined | null;
Typ ograniczenia zapytania
Opisuje różne ograniczenia zapytań dostępne w tym pakiecie SDK.
Podpis:
export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';
Ograniczenie filtra zapytania
QueryFilterConstraint
to typ sumy pomocniczej, który reprezentuje QueryFieldFilterConstraint i QueryCompositeFilterConstraint.
Podpis:
export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;
Zapytanie niebędące ograniczeniem filtra
QueryNonFilterConstraint
to typ sumy pomocniczej, który reprezentuje ograniczenia QueryConstraints używane do zawężania lub porządkowania zestawu dokumentów, ale które nie są jawnie filtrowane według pola dokumentu. QueryNonFilterConstraint
Identyfikatory są tworzone przez wywołanie orderBy(), startAt(), startAfter(), endBefore(), endAt(), limit() lub limitToLast(). Można je następnie przekazać do funkcji query()/, aby utworzyć nowe wystąpienie zapytania /.QueryConstraint
Podpis:
export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;
SetOptions
Obiekt opcji, który konfiguruje działanie funkcji setDoc() i wywołania. Te wywołania można skonfigurować tak, aby przeprowadzać szczegółowe scalanie, zamiast zastępować całe dokumenty docelowe za pomocą funkcji SetOptions
z merge: true
.
Podpis:
export declare type SetOptions = {
readonly merge?: boolean;
} | {
readonly mergeFields?: Array<string | FieldPath>;
};
Połączenie
Biorąc pod uwagę typ sumy U = T1 | T2 | ...
, zwraca typ przecinka: (T1 & T2 & ...)
.
Wykorzystuje dystrybucyjne typy warunkowe i wnioskowanie na podstawie typów warunkowych. Jest to możliwe, ponieważ większa liczba kandydatów dla tej samej zmiennej typu w kontrwariantach 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-type
Podpis:
export declare type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
Aktualizuj dane
Zaktualizuj dane (do użycia z funkcją updateDoc()), które składają się ze ścieżek pól (np. „foo” lub „foo.baz”) zmapowanych na wartości. Pola zawierające kropki odnoszą się do pól zagnieżdżonych w dokumencie. Wartości FieldValues można przekazywać 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>;
GdzieOp Filtr
Warunki filtra w klauzuli where() są określane za pomocą ciągów „<”, „<=', '==', '!=', '>=', „>”, „array-contains”, „in”, „array-contains-any” i „not-in”.
Podpis:
export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';
Z wartością pola
Umożliwia przekazywanie wartości FieldValue jako wartości właściwości przy zachowaniu 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);