DataSnapshot class

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:

Instantánea de datos

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