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