DataSnapshot class

Un DataSnapshot contiene dati da una posizione del database.

Ogni volta che leggi i dati dal database, ricevi i dati come DataSnapshot . Un DataSnapshot viene passato ai callback degli eventi che alleghi con on() o once() . Puoi estrarre il contenuto dello snapshot come oggetto JavaScript chiamando il metodo val() . In alternativa, puoi entrare nell'istantanea chiamando child() per restituire istantanee figlie (su cui potresti quindi chiamare val() ).

Un DataSnapshot è una copia immutabile e generata in modo efficiente dei dati in una posizione del database. Non può essere modificato e non cambierà mai (per modificare i dati, chiami sempre direttamente il metodo set() su un Reference ).

Firma:

export declare class DataSnapshot 

Proprietà

Proprietà Modificatori Tipo Descrizione
chiave stringa | nullo La chiave (ultima parte del percorso) della posizione di questo DataSnapshot . L'ultimo token in una posizione del database è considerato la sua chiave. Ad esempio, "ada" è la chiave per il nodo /users/ada/. L'accesso alla chiave su qualsiasi DataSnapshot restituirà la chiave per la posizione che l'ha generata. Tuttavia, l'accesso alla chiave sull'URL radice di un database restituirà null .
priorità stringa | numero | nullo Ottiene il valore di priorità dei dati in questo DataSnapshot . Le applicazioni non devono necessariamente utilizzare la priorità ma possono ordinare le raccolte in base alle proprietà ordinarie (vedere Ordinamento e filtraggio dei dati ).
rif Riferimento al database La posizione di questo DataSnapshot.
misurare numero Restituisce il numero di proprietà figlie di questo DataSnapshot .

Metodi

Metodo Modificatori Descrizione
figlio(percorso) Ottiene un altro DataSnapshot per la posizione nel percorso relativo specificato. Il passaggio di un percorso relativo al metodo child() di un DataSnapshot restituisce un altro DataSnapshot per la posizione nel percorso relativo specificato. Il percorso relativo può essere un semplice nome figlio (ad esempio, "ada") o un percorso più profondo, separato da barre (ad esempio, "ada/nome/primo"). Se la posizione figlio non contiene dati, viene restituito un DataSnapshot vuoto (ovvero un DataSnapshot il cui valore è null ).
esiste() Restituisce vero se questo DataSnapshot contiene dati. È leggermente più efficiente rispetto all'utilizzo snapshot.val() !== null .
valoreesportazione() Esporta l'intero contenuto di DataSnapshot come oggetto JavaScript. Il metodo exportVal() è simile a val() , tranne per il fatto che sono incluse le informazioni sulla priorità (se disponibili), rendendolo adatto per il backup dei dati.
perEach(azione) Enumera gli elementi secondari di livello superiore in IteratedDataSnapshot . A causa del modo in cui funzionano gli oggetti JavaScript, non è garantito che l'ordinamento dei dati nell'oggetto JavaScript restituito da val() corrisponda all'ordinamento sul server né all'ordinamento degli eventi onChildAdded() . È qui che forEach() torna utile. Garantisce che i figli di un DataSnapshot verranno ripetuti nell'ordine della query. Se non viene utilizzato alcun metodo orderBy*() esplicito, i risultati vengono restituiti ordinati per chiave (a meno che non vengano utilizzate le priorità, nel qual caso i risultati vengono restituiti per priorità).
hasChild(percorso) Restituisce vero se il percorso figlio specificato contiene dati (non nulli).
haFigli() Restituisce se DataSnapshot ha o meno proprietà figlie non null . È possibile utilizzare hasChildren() per determinare se un DataSnapshot ha dei figli. In tal caso, puoi enumerarli utilizzando forEach() . In caso contrario, questa istantanea contiene un valore primitivo (che può essere recuperato con val() ) oppure è vuota (nel qual caso val() restituirà null ).
aJSON() Restituisce una rappresentazione serializzabile JSON di questo oggetto.
val() Estrae un valore JavaScript da un DataSnapshot . A seconda dei dati in un DataSnapshot , il metodo val() può restituire un tipo scalare (stringa, numero o booleano), un array o un oggetto. Potrebbe anche restituire null, indicando che DataSnapshot è vuoto (non contiene dati).

DataSnapshot.key

La chiave (ultima parte del percorso) della posizione di questo DataSnapshot .

L'ultimo token in una posizione del database è considerato la sua chiave. Ad esempio, "ada" è la chiave per il nodo /users/ada/. L'accesso alla chiave su qualsiasi DataSnapshot restituirà la chiave per la posizione che l'ha generata. Tuttavia, l'accesso alla chiave sull'URL radice di un database restituirà null .

Firma:

get key(): string | null;

DataSnapshot.priority

Ottiene il valore di priorità dei dati in questo DataSnapshot .

Le applicazioni non devono necessariamente utilizzare la priorità ma possono ordinare le raccolte in base alle proprietà ordinarie (vedere Ordinamento e filtraggio dei dati ).

Firma:

get priority(): string | number | null;

DataSnapshot.ref

La posizione di questo DataSnapshot.

Firma:

readonly ref: DatabaseReference;

DataSnapshot.dimensione

Restituisce il numero di proprietà figlie di questo DataSnapshot .

Firma:

get size(): number;

DataSnapshot.child()

Ottiene un altro DataSnapshot per la posizione nel percorso relativo specificato.

Il passaggio di un percorso relativo al metodo child() di un DataSnapshot restituisce un altro DataSnapshot per la posizione nel percorso relativo specificato. Il percorso relativo può essere un semplice nome figlio (ad esempio, "ada") o un percorso più profondo, separato da barre (ad esempio, "ada/nome/primo"). Se la posizione secondaria non contiene dati, verrà visualizzato un DataSnapshot vuoto (ovvero un DataSnapshot il cui valore è null ) viene restituito.

Firma:

child(path: string): DataSnapshot;

Parametri

Parametro Tipo Descrizione
sentiero corda Un percorso relativo alla posizione dei dati secondari.

Ritorna:

DataSnapshot

DataSnapshot.exists()

Restituisce vero se questo DataSnapshot contiene dati. È leggermente più efficiente rispetto all'utilizzo snapshot.val() !== null .

Firma:

exists(): boolean;

Ritorna:

booleano

DataSnapshot.exportVal()

Esporta l'intero contenuto di DataSnapshot come oggetto JavaScript.

Il metodo exportVal() è simile a val() , tranne per il fatto che sono incluse le informazioni sulla priorità (se disponibili), rendendolo adatto al backup dei dati.

Firma:

exportVal(): any;

Ritorna:

Qualunque

Il contenuto di DataSnapshot come valore JavaScript (oggetto, array, stringa, numero, booleano o null ).

DataSnapshot.forEach()

Enumera gli elementi figlio di livello superiore in IteratedDataSnapshot .

A causa del modo in cui funzionano gli oggetti JavaScript, non è garantito che l'ordinamento dei dati nell'oggetto JavaScript restituito da val() corrisponda all'ordinamento sul server né all'ordinamento degli eventi onChildAdded() . È qui che forEach() torna utile. Garantisce che i figli di un DataSnapshot verranno ripetuti nell'ordine della query.

Se non viene utilizzato alcun metodo orderBy*() esplicito, i risultati vengono restituiti ordinati per chiave (a meno che non vengano utilizzate le priorità, nel qual caso i risultati vengono restituiti per priorità).

Firma:

forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;

Parametri

Parametro Tipo Descrizione
azione (figlio: IteratedDataSnapshot ) => booleano | vuoto Una funzione che verrà chiamata per ogni DataSnapshot figlio. La richiamata può restituire true per annullare un'ulteriore enumerazione.

Ritorna:

booleano

true se l'enumerazione è stata annullata perché la richiamata ha restituito true.

DataSnapshot.hasChild()

Restituisce vero se il percorso figlio specificato contiene dati (non nulli).

Firma:

hasChild(path: string): boolean;

Parametri

Parametro Tipo Descrizione
sentiero corda Un percorso relativo alla posizione di un potenziale bambino.

Ritorna:

booleano

true se i dati esistono nel percorso figlio specificato; altrimenti false .

DataSnapshot.hasChildren()

Restituisce se DataSnapshot ha o meno proprietà figlie non null .

È possibile utilizzare hasChildren() per determinare se un DataSnapshot ha dei figli. In tal caso, puoi enumerarli utilizzando forEach() . In caso contrario, questa istantanea contiene un valore primitivo (che può essere recuperato con val() ) oppure è vuoto (nel qual caso val() restituirà null ).

Firma:

hasChildren(): boolean;

Ritorna:

booleano

true se questo snapshot ha dei figli; altrimenti falso.

DataSnapshot.toJSON()

Restituisce una rappresentazione serializzabile JSON di questo oggetto.

Firma:

toJSON(): object | null;

Ritorna:

oggetto | nullo

DataSnapshot.val()

Estrae un valore JavaScript da un DataSnapshot .

A seconda dei dati in un DataSnapshot , il metodo val() può restituire un tipo scalare (stringa, numero o booleano), un array o un oggetto. Potrebbe anche restituire null, indicando che DataSnapshot è vuoto (non contiene dati).

Firma:

val(): any;

Ritorna:

Qualunque

Il contenuto di DataSnapshot come valore JavaScript (oggetto, array, stringa, numero, booleano o null ).