DataSnapshot class

Una DataSnapshot contiene datos de una ubicación de base de datos.

Cada vez que lee datos de la base de datos, los recibe como una DataSnapshot . Se pasa una DataSnapshot a las devoluciones de llamada de eventos que adjunta con on() o once() . Puede extraer el contenido de la instantánea como un objeto JavaScript llamando al método val() . Alternativamente, puede acceder a 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 de manera eficiente de los datos en una ubicación de base de datos. No se puede modificar y nunca cambiará (para modificar datos, siempre se 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/. Al acceder a la clave en cualquier DataSnapshot se devolverá la clave de 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 según propiedades ordinarias (consulte Ordenar y filtrar datos ).
árbitro Referencia de base de datos La ubicación de esta instantánea de datos.
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 un DataSnapshot devuelve otro 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/primero"). 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 esta DataSnapshot contiene datos. Es un poco más eficiente que usar snapshot.val() !== null .
exportVal() Exporta todo el contenido de DataSnapshot como un objeto 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.
para cada (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 en el servidor ni con el orden de los eventos onChildAdded() . Ahí es donde forEach() resulta útil. Garantiza que los elementos secundarios de una DataSnapshot se repetirán en su orden de consulta. Si no se utiliza ningún método explícito orderBy*() , los resultados se devuelven ordenados por clave (a menos que se utilicen prioridades, en cuyo caso, los resultados se devuelven por prioridad).
tiene hijo (ruta) Devuelve verdadero si la ruta secundaria especificada tiene datos (no nulos).
tiene niños() Devuelve si el DataSnapshot tiene o no propiedades secundarias no null . Puede utilizar hasChildren() para determinar si una DataSnapshot tiene hijos. Si es así, puedes enumerarlos usando forEach() . Si no es así, entonces esta instantánea contiene un valor primitivo (que se puede recuperar con val() ) o está vacía (en cuyo caso, val() devolverá null ).
a JSON() Devuelve una representación serializable JSON 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 nulo, lo que indica que la DataSnapshot está vacía (no contiene datos).

DataSnapshot.clave

La clave (última parte de la ruta) de la ubicación de esta 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/. Al acceder a la clave en cualquier DataSnapshot se devolverá la clave de 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;

Instantánea de datos.prioridad

Obtiene el valor de prioridad de los datos en esta DataSnapshot .

Las aplicaciones no necesitan usar prioridad, pero pueden ordenar colecciones según propiedades ordinarias (consulte Ordenar y filtrar datos ).

Firma:

get priority(): string | number | null;

Instantánea de datos.ref

La ubicación de esta instantánea de datos.

Firma:

readonly ref: DatabaseReference;

Instantánea de datos.tamaño

Devuelve el número de propiedades secundarias de esta 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 un DataSnapshot devuelve otro 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/primero"). Si la ubicación secundaria no tiene datos, se crea 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

Instantánea de datos.existe()

Devuelve verdadero si esta 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 JavaScript.

El método exportVal() es similar a val() , excepto que se incluye información de prioridad (si está disponible), lo que la hace adecuada para realizar copias de seguridad de sus datos.

Firma:

exportVal(): any;

Devoluciones:

cualquier

El contenido de la instantánea de datos 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 en el servidor ni con el orden de los eventos onChildAdded() . Ahí es donde forEach() resulta útil. Garantiza que los elementos secundarios de una DataSnapshot se repetirán en su orden de consulta.

Si no se utiliza ningún método explícito orderBy*() , 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 (niño: IteratedDataSnapshot ) => 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

Es 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 Un camino relativo 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 el DataSnapshot tiene o no propiedades secundarias no null .

Puede utilizar hasChildren() para determinar si una DataSnapshot tiene hijos. Si es así, puedes 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

Es true si esta instantánea tiene hijos; de lo contrario falso.

Instantánea de datos.toJSON()

Devuelve una representación serializable JSON de este objeto.

Firma:

toJSON(): object | null;

Devoluciones:

objeto | nulo

Instantánea de datos.val()

Extrae un valor de JavaScript de una 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 nulo, lo que indica que la DataSnapshot está vacía (no contiene datos).

Firma:

val(): any;

Devoluciones:

cualquier

El contenido de la instantánea de datos como un valor de JavaScript (objeto, matriz, cadena, número, booleano o null ).