Una DataSnapshot
contiene datos de una ubicación de base de datos.
Cada vez que lee datos de la base de datos, recibe los datos como una DataSnapshot
. Se pasa una DataSnapshot
a las devoluciones de llamadas de eventos que adjunta con on()
o once()
. Puede extraer el contenido de la instantánea como un objeto de JavaScript llamando al método val()
. Alternativamente, puede atravesar la instantánea llamando child()
para devolver instantáneas secundarias (a las que luego podría llamar val()
).
Una DataSnapshot
es una copia inmutable y generada eficientemente de los datos en una ubicación de la base de datos. No se puede modificar y nunca cambiará (para modificar datos, siempre llama directamente al método set()
en una Reference
).
Firma:
export declare class DataSnapshot
Propiedades
Propiedad | modificadores | Tipo | Descripción |
---|---|---|---|
llave | cadena | nulo | La clave (última parte de la ruta) de la ubicación de este DataSnapshot . El último token en una ubicación de base de datos se considera su clave. Por ejemplo, "ada" es la clave para el nodo /users/ada/. Acceder a la clave en cualquier DataSnapshot devolverá la clave para la ubicación que la generó. Sin embargo, acceder a la clave en la URL raíz de una base de datos devolverá null . | |
prioridad | cadena | número | nulo | Obtiene el valor de prioridad de los datos en este DataSnapshot . Las aplicaciones no necesitan usar prioridad, pero pueden ordenar colecciones por propiedades ordinarias (consulte Clasificación y filtrado de datos ). | |
árbitro | Base de datosReferencia | La ubicación de este DataSnapshot. | |
tamaño | número | Devuelve el número de propiedades secundarias de este DataSnapshot . |
Métodos
Método | modificadores | Descripción |
---|---|---|
niño (camino) | Obtiene otra DataSnapshot para la ubicación en la ruta relativa especificada. Pasar una ruta relativa al método child() de una DataSnapshot devuelve otra DataSnapshot para la ubicación en la ruta relativa especificada. La ruta relativa puede ser un nombre secundario simple (por ejemplo, "ada") o una ruta más profunda separada por barras (por ejemplo, "ada/nombre/nombre"). Si la ubicación secundaria no tiene datos, se devuelve una DataSnapshot vacía (es decir, una DataSnapshot cuyo valor es null ). | |
existe() | Devuelve verdadero si este DataSnapshot contiene datos. Es un poco más eficiente que usar snapshot.val() !== null . | |
exportarVal() | Exporta todo el contenido de DataSnapshot como un objeto de JavaScript. El método exportVal() es similar a val() , excepto que se incluye información de prioridad (si está disponible), lo que lo hace adecuado para realizar copias de seguridad de sus datos. | |
paraCada(acción) | Enumera los elementos secundarios de nivel superior en IteratedDataSnapshot . Debido a la forma en que funcionan los objetos JavaScript, no se garantiza que el orden de los datos en el objeto JavaScript devuelto por val() coincida con el orden del servidor ni con el orden de los eventos onChildAdded() . Ahí es donde forEach() resulta útil. Garantiza que los hijos de un DataSnapshot se repetirán en su orden de consulta. Si no se utiliza un método orderBy*() explícito, los resultados se devuelven ordenados por clave (a menos que se utilicen prioridades, en cuyo caso, los resultados se devuelven por prioridad). | |
hasChild(ruta) | Devuelve verdadero si la ruta secundaria especificada tiene datos (no nulos). | |
tiene niños() | Devuelve si DataSnapshot tiene o no propiedades secundarias no null . Puede usar hasChildren() para determinar si un DataSnapshot tiene hijos. Si es así, puede enumerarlos usando forEach() . Si no es así, esta instantánea contiene un valor primitivo (que se puede recuperar con val() ) o está vacía (en cuyo caso, val() devolverá null ). | |
aJSON() | Devuelve una representación JSON serializable de este objeto. | |
valor() | Extrae un valor de JavaScript de un DataSnapshot . Dependiendo de los datos en un DataSnapshot , el método val() puede devolver un tipo escalar (cadena, número o booleano), una matriz o un objeto. También puede devolver un valor nulo, lo que indica que la DataSnapshot está vacía (no contiene datos). |
DataSnapshot.key
La clave (última parte de la ruta) de la ubicación de este DataSnapshot
.
El último token en una ubicación de base de datos se considera su clave. Por ejemplo, "ada" es la clave para el nodo /users/ada/. Acceder a la clave en cualquier DataSnapshot
devolverá la clave para la ubicación que la generó. Sin embargo, acceder a la clave en la URL raíz de una base de datos devolverá null
.
Firma:
get key(): string | null;
DataSnapshot.priority
Obtiene el valor de prioridad de los datos en este DataSnapshot
.
Las aplicaciones no necesitan usar prioridad, pero pueden ordenar colecciones por propiedades ordinarias (consulte Clasificación y filtrado de datos ).
Firma:
get priority(): string | number | null;
Instantánea de datos.ref
La ubicación de este DataSnapshot.
Firma:
readonly ref: DatabaseReference;
DataSnapshot.tamaño
Devuelve el número de propiedades secundarias de este DataSnapshot
.
Firma:
get size(): number;
Instantánea de datos.child()
Obtiene otra DataSnapshot
para la ubicación en la ruta relativa especificada.
Pasar una ruta relativa al método child()
de una DataSnapshot devuelve otra DataSnapshot
para la ubicación en la ruta relativa especificada. La ruta relativa puede ser un nombre secundario simple (por ejemplo, "ada") o una ruta más profunda separada por barras (por ejemplo, "ada/nombre/nombre"). Si la ubicación secundaria no tiene datos, una DataSnapshot
vacía (es decir, una DataSnapshot
cuyo valor es null
) es regresado.
Firma:
child(path: string): DataSnapshot;
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
camino | cadena | Una ruta relativa a la ubicación de los datos secundarios. |
Devoluciones:
DataSnapshot.exists()
Devuelve verdadero si este DataSnapshot
contiene datos. Es un poco más eficiente que usar snapshot.val() !== null
.
Firma:
exists(): boolean;
Devoluciones:
booleano
Instantánea de datos.exportVal()
Exporta todo el contenido de DataSnapshot como un objeto de JavaScript.
El método exportVal()
es similar a val()
, excepto que se incluye información de prioridad (si está disponible), lo que lo hace adecuado para realizar copias de seguridad de sus datos.
Firma:
exportVal(): any;
Devoluciones:
cualquier
El contenido de DataSnapshot como un valor de JavaScript (objeto, matriz, cadena, número, booleano o null
).
Instantánea de datos.forEach()
Enumera los elementos secundarios de nivel superior en IteratedDataSnapshot
.
Debido a la forma en que funcionan los objetos JavaScript, no se garantiza que el orden de los datos en el objeto JavaScript devuelto por val()
coincida con el orden del servidor ni con el orden de los eventos onChildAdded()
. Ahí es donde forEach()
resulta útil. Garantiza que los hijos de un DataSnapshot
se repetirán en su orden de consulta.
Si no se utiliza un método orderBy*()
explícito, los resultados se devuelven ordenados por clave (a menos que se utilicen prioridades, en cuyo caso, los resultados se devuelven por prioridad).
Firma:
forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
acción | (hijo: Instantánea de datos iterados ) => booleano | vacío | Una función que se llamará para cada DataSnapshot secundario. La devolución de llamada puede devolver verdadero para cancelar una enumeración adicional. |
Devoluciones:
booleano
verdadero si la enumeración se canceló debido a que su devolución de llamada devolvió verdadero.
Instantánea de datos.hasChild()
Devuelve verdadero si la ruta secundaria especificada tiene datos (no nulos).
Firma:
hasChild(path: string): boolean;
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
camino | cadena | Una ruta relativa a la ubicación de un niño potencial. |
Devoluciones:
booleano
true
si existen datos en la ruta secundaria especificada; más false
.
Instantánea de datos.hasChildren()
Devuelve si DataSnapshot
tiene o no propiedades secundarias no null
.
Puede usar hasChildren()
para determinar si un DataSnapshot
tiene hijos. Si es así, puede enumerarlos usando forEach()
. Si no es así, entonces esta instantánea contiene un valor primitivo (que se puede recuperar con val()
) o está vacío (en cuyo caso, val()
devolverá null
).
Firma:
hasChildren(): boolean;
Devoluciones:
booleano
true si esta instantánea tiene hijos; de lo contrario falso.
Instantánea de datos.toJSON()
Devuelve una representación JSON serializable de este objeto.
Firma:
toJSON(): object | null;
Devoluciones:
objeto | nulo
Instantánea de datos.val()
Extrae un valor de JavaScript de un DataSnapshot
.
Dependiendo de los datos en un DataSnapshot
, el método val()
puede devolver un tipo escalar (cadena, número o booleano), una matriz o un objeto. También puede devolver un valor nulo, lo que indica que la DataSnapshot
está vacía (no contiene datos).
Firma:
val(): any;
Devoluciones:
cualquier
El contenido de DataSnapshot como un valor de JavaScript (objeto, matriz, cadena, número, booleano o null
).