Element DataSnapshot
zawiera dane z lokalizacji bazy danych.
Za każdym razem, gdy odczytujesz dane z bazy danych, otrzymujesz je w postaci DataSnapshot
. Do wywołań zwrotnych zdarzenia dołączanych za pomocą funkcji on()
lub once()
jest przekazywana wartość DataSnapshot
. Zawartość zrzutu można wyodrębnić jako obiekt JavaScript, wywołując metodę val()
. Możesz też przejść do zrzutu, wywołując funkcję child()
w celu zwrócenia zrzutów podrzędnych (które można następnie wywołać val()
).
DataSnapshot
to wydajnie generowana, stała kopia danych w lokalizacji bazy danych. Nie można go modyfikować i nigdy się nie zmieni (aby modyfikować dane, musisz zawsze wywoływać metodę set()
bezpośrednio w Reference
).
Podpis:
export declare class DataSnapshot
Właściwości
Właściwość | Modyfikatory | Typ | Opis |
---|---|---|---|
klucz | ciąg znaków | wartość null | Klucz (ostatnia część ścieżki) lokalizacji tego elementu (DataSnapshot ).Ostatnim tokenem w lokalizacji bazy danych jest jego klucz. Na przykład „ada” jest kluczem węzła /users/ada/. Dostęp do klucza na dowolnym urządzeniu DataSnapshot spowoduje zwrócenie klucza lokalizacji, w której został wygenerowany. Jednak dostęp do klucza z głównego adresu URL bazy danych spowoduje zwrócenie null . |
|
priorytet | ciąg znaków | liczba | wartość null | Pobiera wartość priorytetu danych w zasobniku DataSnapshot .Aplikacje nie muszą używać priorytetu, ale mogą grupować kolekcje według właściwości zwykłych (patrz Sortowanie i filtrowanie danych). |
|
źródło | Odniesienie do bazy danych | Lokalizacja tego zrzutu danych. | |
size [rozmiar] | liczba | Zwraca liczbę właściwości podrzędnych obiektu DataSnapshot . |
Metody
Metoda | Modyfikatory | Opis |
---|---|---|
child(ścieżka) | Pobiera inny atrybut DataSnapshot dla lokalizacji w określonej ścieżce względnej.Przekazywanie ścieżki względnej do metody child() zrzutu danych zwraca inny obiekt DataSnapshot dla lokalizacji w określonej ścieżce względnej. Ścieżka względna może być prostą nazwą podrzędną (np. „ada”) lub głębszą, oddzielonych ukośnikami ścieżką (np. „ada/nazwa/pierwsze”). Jeśli lokalizacja podrzędna nie ma danych, zwracany jest pusty element DataSnapshot (czyli DataSnapshot , którego wartość to null ). |
|
exists() | Zwraca wartość „prawda”, jeśli element DataSnapshot zawiera jakiekolwiek dane. To działanie trochę wydajniejsze niż snapshot.val() !== null . |
|
exportVal() | Eksportuje całą zawartość DataSnapshot jako obiekt JavaScript.Metoda exportVal() jest podobna do metody val() , z tą różnicą, że zawiera informacje o priorytecie (jeśli są dostępne), dzięki czemu nadaje się ona do tworzenia kopii zapasowych danych. |
|
forEach(działanie) | Wylicza elementy podrzędne najwyższego poziomu w IteratedDataSnapshot .Ze względu na sposób działania obiektów JavaScript kolejność danych w obiekcie JavaScript zwróconym przez funkcję val() nie jest zgodna z kolejnością na serwerze ani z kolejnością zdarzeń onChildAdded() . Z pomocą przyda się forEach() . Gwarantuje, że elementy podrzędne elementu DataSnapshot zostaną powtórzone w kolejności zapytań.Jeśli nie użyto żadnej jawnej metody orderBy*() , wyniki są zwracane w kolejności uporządkowanej według klucza (chyba że używane są priorytety – w takim przypadku wyniki są zwracane według priorytetu). |
|
hasChild(ścieżka) | Zwraca wartość „prawda”, jeśli podana ścieżka podrzędna zawiera dane niepuste. | |
hasChildren() | Zwraca, czy DataSnapshot ma jakiekolwiek właściwości podrzędne inne niż null .Za pomocą hasChildren() możesz określić, czy obiekt DataSnapshot ma jakiekolwiek właściwości podrzędne. Jeśli tak, możesz je wyliczyć za pomocą funkcji forEach() . Jeśli tak nie jest, zrzut dysku zawiera wartość podstawową (którą można pobrać przy użyciu funkcji val() ) lub jest on pusty (w takim przypadku val() zwraca wartość null ). |
|
toJSON(), | Zwraca możliwą do serializowania reprezentację tego obiektu w formacie JSON. | |
val(), | Wyodrębnia wartość JavaScript z DataSnapshot .W zależności od danych w DataSnapshot metoda val() może zwrócić typ skalarny (ciąg znaków, liczba lub wartość logiczna), tablicę lub obiekt. Może też zwrócić wartość null, co oznacza, że pole DataSnapshot jest puste (nie zawiera danych). |
DataSnapshot.key
Klucz (ostatnia część ścieżki) lokalizacji tego elementu (DataSnapshot
).
Ostatni token w lokalizacji bazy danych jest traktowany jako jego klucz. Na przykład „ada” jest kluczem węzła /users/ada/. Dostęp do klucza na dowolnym urządzeniu DataSnapshot
spowoduje zwrócenie klucza lokalizacji, w której został wygenerowany. Jednak dostęp do klucza z głównego adresu URL bazy danych spowoduje zwrócenie null
.
Podpis:
get key(): string | null;
DataSnapshot.Priority
Pobiera wartość priorytetu danych w: DataSnapshot
.
Aplikacje nie muszą używać priorytetu, ale mogą grupować zbiory według właściwości zwykłych (zobacz Sortowanie i filtrowanie danych).
Podpis:
get priority(): string | number | null;
DataSnapshot.ref
Lokalizacja tego zrzutu danych.
Podpis:
readonly ref: DatabaseReference;
DataSnapshot.size
Zwraca liczbę właściwości podrzędnych obiektu DataSnapshot
.
Podpis:
get size(): number;
DataSnapshot.child()
Pobiera inny atrybut DataSnapshot
dla lokalizacji w określonej ścieżce względnej.
Przekazywanie ścieżki względnej do metody child()
zrzutu danych zwraca wartość DataSnapshot
dla lokalizacji w określonej ścieżce względnej. Ścieżka względna może być prostą nazwą podrzędną (np. „ada”) lub głębszą, oddzielonych ukośnikami ścieżką (np. „ada/nazwa/pierwsze”). Jeśli lokalizacja podrzędna nie ma danych, zwracany jest pusty element DataSnapshot
(czyli DataSnapshot
, którego wartość to null
).
Podpis:
child(path: string): DataSnapshot;
Parametry
Parametr | Typ | Opis |
---|---|---|
ścieżka | ciąg znaków | Ścieżka względna do lokalizacji danych podrzędnych. |
Zwroty:
DataSnapshot.exists()
Zwraca wartość „prawda”, jeśli element DataSnapshot
zawiera jakiekolwiek dane. To trochę wydajniejsza metoda niż 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 tym że zawiera informacje o priorytecie (jeśli są dostępne), dzięki czemu nadaje się ona do tworzenia kopii zapasowych danych.
Podpis:
exportVal(): any;
Zwroty:
dowolny
Zawartość DataSnapshot jako wartość JavaScript (obiekt, tablica, ciąg, liczba, wartość logiczna lub null
).
DataSnapshot.forEach()
Wylicza elementy podrzędne najwyższego poziomu w IteratedDataSnapshot
.
Ze względu na sposób działania obiektów JavaScript kolejność danych w obiekcie JavaScript zwracanym przez funkcję val()
nie musi być zgodna z kolejnością na serwerze ani zdarzeń onChildAdded()
. Z pomocą przyda się forEach()
. Gwarantuje to, że elementy podrzędne elementu DataSnapshot
zostaną powtórzone w kolejności zapytań.
Jeśli nie jest używana jawna metoda orderBy*()
, wyniki są zwracane w kolejności według klucza (chyba że są używane priorytety – wtedy wyniki są zwracane według priorytetu).
Podpis:
forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;
Parametry
Parametr | Typ | Opis |
---|---|---|
działanie | (element podrzędny: IteratedDataSnapshot) => boolean | nieważne | Funkcja, która będzie wywoływana dla każdego podrzędnego elementu DataSnapshot. Wywołanie zwrotne może zwrócić wartość „true” (prawda), aby anulować kolejne wyliczanie. |
Zwroty:
wartość logiczna
true (prawda), jeśli wyliczanie zostało anulowane, ponieważ wywołanie zwrotne zwraca wartość „true”.
DataSnapshot.hasChild()
Zwraca wartość „prawda”, jeśli podana ścieżka podrzędna zawiera dane niepuste.
Podpis:
hasChild(path: string): boolean;
Parametry
Parametr | Typ | Opis |
---|---|---|
ścieżka | ciąg znaków | Ścieżka względna do lokalizacji potencjalnego dziecka. |
Zwroty:
wartość logiczna
true
, jeśli dane znajdują się na określonej ścieżce podrzędnej; w przeciwnym razie false
.
DataSnapshot.hasChildren()
Zwraca informację, czy obiekt DataSnapshot
ma właściwości podrzędne inne niż null
.
Aby określić, czy element DataSnapshot
ma dzieci, możesz użyć hasChildren()
. Jeśli tak, możesz je wyliczyć za pomocą funkcji forEach()
. Jeśli tak nie jest, zrzut dysku zawiera wartość podstawową (którą można pobrać przy użyciu funkcji val()
) lub jest on pusty (w takim przypadku val()
zwraca wartość null
).
Podpis:
hasChildren(): boolean;
Zwroty:
wartość logiczna
true (prawda), jeśli ten zrzut ma jakiekolwiek elementy podrzędne; w przeciwnym razie ma wartość fałsz.
DataSnapshot.toJSON()
Zwraca możliwą do serializowania reprezentację tego obiektu w formacie JSON.
Podpis:
toJSON(): object | null;
Zwroty:
obiekt | wartość null
DataSnapshot.val()
Wyodrębnia wartość JavaScript z: DataSnapshot
.
W zależności od danych w DataSnapshot
metoda val()
może zwracać typ skalarny (ciąg znaków, liczba lub wartość logiczna), tablicę lub obiekt. Może też zwrócić wartość null, co oznacza, że pole DataSnapshot
jest puste (nie zawiera danych).
Podpis:
val(): any;
Zwroty:
dowolny
Zawartość DataSnapshot jako wartość JavaScript (obiekt, tablica, ciąg, liczba, wartość logiczna lub null
).