DataSnapshot class

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:

Migawka danych

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