DataSnapshot
zawiera dane z lokalizacji bazy danych.
Za każdym razem, gdy odczytujesz dane z bazy danych, otrzymujesz je w postaci DataSnapshot
. DataSnapshot
jest przekazywany do wywołań zwrotnych zdarzeń, które dołączasz za pomocą on()
lub once()
. Możesz wyodrębnić zawartość migawki jako obiekt JavaScript, wywołując metodę val()
. Alternatywnie możesz przejść do migawki, wywołując metodę child()
w celu zwrócenia migawek podrzędnych (które możesz następnie wywołać metodą val()
).
DataSnapshot
to efektywnie wygenerowana, niezmienna kopia danych w lokalizacji bazy danych. Nie można go modyfikować i nigdy się nie zmieni (aby zmodyfikować dane, zawsze wywołujesz metodę set()
bezpośrednio w Reference
).
Podpis:
export declare class DataSnapshot
Nieruchomości
Nieruchomość | Modyfikatory | Typ | Opis |
---|---|---|---|
klucz | ciąg | zero | Klucz (ostatnia część ścieżki) lokalizacji tego DataSnapshot . Ostatni token w lokalizacji Bazy danych jest uważany za jej klucz. Na przykład „ada” jest kluczem dla węzła /users/ada/. Dostęp do klucza w dowolnym DataSnapshot spowoduje zwrócenie klucza dla lokalizacji, która go wygenerowała. Jednak dostęp do klucza w głównym adresie URL bazy danych zwróci null . | |
priorytet | ciąg | numer | zero | Pobiera wartość priorytetu danych w tym DataSnapshot . Aplikacje nie muszą używać priorytetu, ale mogą porządkować kolekcje według zwykłych właściwości (zobacz Sortowanie i filtrowanie danych ). | |
ref | Baza danych referencyjna | Lokalizacja tego DataSnapshot. | |
rozmiar | numer | Zwraca liczbę właściwości podrzędnych tego DataSnapshot . |
Metody
metoda | Modyfikatory | Opis |
---|---|---|
dziecko (ścieżka) | Pobiera kolejny DataSnapshot dla lokalizacji w określonej ścieżce względnej. Przekazanie ścieżki względnej do metody child() obiektu DataSnapshot zwraca kolejny DataSnapshot dla lokalizacji w określonej ścieżce względnej. Ścieżka względna może być prostą nazwą podrzędną (na przykład „ada”) lub głębszą ścieżką oddzieloną ukośnikami (na przykład „ada/imię/pierwszy”). Jeśli lokalizacja podrzędna nie zawiera danych, zwracany jest pusty DataSnapshot (to znaczy DataSnapshot o wartości null ). | |
istnieje() | Zwraca wartość true, jeśli ten DataSnapshot zawiera jakiekolwiek dane. Jest to nieco bardziej wydajne niż użycie snapshot.val() !== null . | |
wartość eksportu() | Eksportuje całą zawartość DataSnapshot jako obiekt JavaScript. Metoda exportVal() jest podobna do metody val() z tą różnicą, że zawiera informacje o priorytetach (jeśli są dostępne), dzięki czemu nadaje się do tworzenia kopii zapasowych danych. | |
dla każdego (akcja) | Wylicza elementy podrzędne najwyższego poziomu w IteratedDataSnapshot . Ze względu na sposób działania obiektów JavaScript nie można zagwarantować, że kolejność danych w obiekcie JavaScript zwrócona przez funkcję val() będzie zgodna z kolejnością na serwerze ani kolejnością zdarzeń onChildAdded() . W tym miejscu przydaje się funkcja forEach() . Gwarantuje, że dzieci DataSnapshot będą iterowane w kolejności zapytań. Jeśli nie została użyta żadna jawna metoda orderBy*() , wyniki są zwracane według klucza (chyba że zastosowano priorytety, w takim przypadku wyniki są zwracane według priorytetów). | |
hasChild(ścieżka) | Zwraca wartość true, jeśli określona ścieżka podrzędna zawiera dane (inne niż null). | |
ma dzieci() | Zwraca informację, czy DataSnapshot ma właściwości podrzędne inne niż null . Możesz użyć hasChildren() , aby określić, czy DataSnapshot ma jakieś dzieci. Jeśli tak, możesz je wyliczyć za pomocą forEach() . Jeśli tak nie jest, to albo ta migawka zawiera wartość pierwotną (którą można pobrać za pomocą val() ), albo jest pusta (w takim przypadku val() zwróci null ). | |
doJSON() | Zwraca reprezentację tego obiektu nadającą się do serializacji w formacie JSON. | |
wartość() | Wyodrębnia wartość JavaScript z DataSnapshot . W zależności od danych w DataSnapshot metoda val() może zwrócić typ skalarny (ciąg, liczba lub wartość logiczna), tablicę lub obiekt. Może również zwrócić wartość null, wskazując, że DataSnapshot jest pusta (nie zawiera żadnych danych). |
DataSnapshot.key
Klucz (ostatnia część ścieżki) lokalizacji tego DataSnapshot
.
Ostatni token w lokalizacji Bazy danych jest uważany za jej klucz. Na przykład „ada” jest kluczem dla węzła /users/ada/. Dostęp do klucza w dowolnym DataSnapshot
spowoduje zwrócenie klucza dla lokalizacji, która go wygenerowała. Jednak dostęp do klucza w głównym adresie URL bazy danych zwróci null
.
Podpis:
get key(): string | null;
Priorytet DataSnapshot
Pobiera wartość priorytetu danych w tym DataSnapshot
.
Aplikacje nie muszą używać priorytetu, ale mogą porządkować kolekcje według zwykłych właściwości (zobacz Sortowanie i filtrowanie danych ).
Podpis:
get priority(): string | number | null;
DataSnapshot.ref
Lokalizacja tego DataSnapshot.
Podpis:
readonly ref: DatabaseReference;
Rozmiar DataSnapshot
Zwraca liczbę właściwości podrzędnych tego DataSnapshot
.
Podpis:
get size(): number;
DataSnapshot.child()
Pobiera kolejny DataSnapshot
dla lokalizacji w określonej ścieżce względnej.
Przekazanie ścieżki względnej do metody child()
obiektu DataSnapshot zwraca kolejny DataSnapshot
dla lokalizacji w określonej ścieżce względnej. Ścieżka względna może być prostą nazwą podrzędną (na przykład „ada”) lub głębszą ścieżką oddzieloną ukośnikami (na przykład „ada/imię/pierwszy”). Jeśli lokalizacja podrzędna nie zawiera danych, pusty DataSnapshot
(to znaczy DataSnapshot
o wartości null
) ) zostaje zwrócony.
Podpis:
child(path: string): DataSnapshot;
Parametry
Parametr | Typ | Opis |
---|---|---|
ścieżka | strunowy | Ścieżka względna do lokalizacji danych podrzędnych. |
Zwroty:
DataSnapshot.exists()
Zwraca wartość true, jeśli ten DataSnapshot
zawiera jakiekolwiek dane. Jest to nieco bardziej wydajne niż użycie snapshot.val() !== null
.
Podpis:
exists(): boolean;
Zwroty:
wartość logiczna
DataSnapshot.exportVal()
Eksportuje całą zawartość DataSnapshot jako obiekt JavaScript.
Metoda exportVal()
jest podobna do metody val()
, z wyjątkiem informacji priorytetowych (jeśli są dostępne), dzięki czemu nadają się do tworzenia kopii zapasowych danych.
Podpis:
exportVal(): any;
Zwroty:
każdy
Zawartość DataSnapshot jako wartość JavaScript (Object, Array, string, number, boolean lub null
).
DataSnapshot.forEach()
Wylicza elementy podrzędne najwyższego poziomu w IteratedDataSnapshot
.
Ze względu na sposób działania obiektów JavaScript nie można zagwarantować, że kolejność danych w obiekcie JavaScript zwrócona przez funkcję val()
będzie zgodna z kolejnością na serwerze ani kolejnością zdarzeń onChildAdded()
. W tym miejscu przydaje się funkcja forEach()
. Gwarantuje, że dzieci DataSnapshot
będą iterowane w kolejności zapytań.
Jeśli nie została użyta żadna jawna metoda orderBy*()
, wyniki są zwracane według klucza (chyba że zastosowano priorytety, w takim przypadku wyniki są zwracane według priorytetów).
Podpis:
forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;
Parametry
Parametr | Typ | Opis |
---|---|---|
działanie | (dziecko: IteratedDataSnapshot ) => wartość logiczna | próżnia | Funkcja, która będzie wywoływana dla każdego podrzędnego DataSnapshot. Wywołanie zwrotne może zwrócić wartość true, aby anulować dalsze wyliczanie. |
Zwroty:
wartość logiczna
true, jeśli wyliczenie zostało anulowane z powodu zwrotu wartości true przez wywołanie zwrotne.
DataSnapshot.hasChild()
Zwraca wartość true, jeśli określona ścieżka podrzędna zawiera dane (inne niż null).
Podpis:
hasChild(path: string): boolean;
Parametry
Parametr | Typ | Opis |
---|---|---|
ścieżka | strunowy | Względna ścieżka do lokalizacji potencjalnego dziecka. |
Zwroty:
wartość logiczna
true
Jeśli dane istnieją w określonej ścieżce podrzędnej; inaczej false
.
DataSnapshot.hasChildren()
Zwraca informację, czy DataSnapshot
ma właściwości podrzędne inne niż null
.
Możesz użyć hasChildren()
, aby określić, czy DataSnapshot
ma jakieś dzieci. Jeśli tak, możesz je wyliczyć za pomocą forEach()
. Jeśli tak nie jest, to albo ta migawka zawiera wartość pierwotną (którą można pobrać za pomocą val()
) lub jest pusta (w takim przypadku val()
zwróci null
).
Podpis:
hasChildren(): boolean;
Zwroty:
wartość logiczna
true Jeśli ta migawka ma jakieś elementy podrzędne; inaczej fałszywe.
DataSnapshot.toJSON()
Zwraca reprezentację tego obiektu nadającą się do serializacji w formacie JSON.
Podpis:
toJSON(): object | null;
Zwroty:
obiekt | zero
DataSnapshot.val()
Wyodrębnia wartość JavaScript z DataSnapshot
.
W zależności od danych w DataSnapshot
, metoda val()
może zwrócić typ skalarny (string, liczba lub wartość logiczna), tablicę lub obiekt. Może również zwrócić wartość null, wskazując, że DataSnapshot
jest pusta (nie zawiera żadnych danych).
Podpis:
val(): any;
Zwroty:
każdy
Zawartość DataSnapshot jako wartość JavaScript (Object, Array, string, number, boolean lub null
).