DataSnapshot class

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

Cada vez que leas datos de la base de datos, los recibirás como un DataSnapshot. Se pasa un DataSnapshot a las devoluciones de llamada de eventos que adjuntas con on() o once(). Puedes extraer el contenido de la instantánea como un objeto de JavaScript llamando al método val(). Como alternativa, puedes atravesar la instantánea llamando a child() para mostrar instantáneas secundarias (a las que luego podrías llamar a val()).

Un DataSnapshot es una copia inmutable y generada de manera eficiente de los datos en una ubicación de la base de datos. No se puede modificar y nunca cambiará (para modificar datos, siempre debes llamar directamente al método set() en un Reference).

Firma:

export declare class DataSnapshot 

Propiedades

Propiedad Teclas modificadoras Tipo Descripción
key cadena | nulo La clave (última parte de la ruta de acceso) de la ubicación de este DataSnapshot.El último token de una ubicación de la base de datos se considera su clave. Por ejemplo, "ada" es la clave para el nodo /users/ada/. El acceso a la clave en cualquier DataSnapshot mostrará la clave de la ubicación que la generó. Sin embargo, si accedes a la clave en la URL raíz de una base de datos, se mostrará null.
prioridad cadena | número | nulo Obtiene el valor de prioridad de los datos en este DataSnapshot.Las aplicaciones no necesitan usar la prioridad, pero pueden ordenar las colecciones por propiedades comunes (consulta Ordena y filtra datos).
referencia Referencia de base de datos La ubicación de esta DataSnapshot.
size número Muestra la cantidad de propiedades secundarias de este DataSnapshot.

Métodos

Método Teclas modificadoras Descripción
secundario(ruta) Obtiene otra DataSnapshot para la ubicación en la ruta de acceso relativa especificada.Si pasas una ruta de acceso relativa al método child() de una DataSnapshot, se muestra otra DataSnapshot para la ubicación en la ruta relativa especificada. La ruta de acceso 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 muestra un DataSnapshot vacío (es decir, un DataSnapshot cuyo valor es null).
exists() Muestra true si este 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(), pero se incluye información de prioridad (si está disponible), por lo que es adecuado para crear una copia de seguridad de tus datos.
forCada(acción) Enumera los elementos secundarios de nivel superior en IteratedDataSnapshot.Debido al modo en que funcionan los objetos de JavaScript, no se garantiza que el orden de los datos en el objeto JavaScript que muestra val() coincida con el orden en el servidor ni con el orden de los eventos onChildAdded(). Aquí es donde forEach() resulta útil. Garantiza que se iterarán los elementos secundarios de un DataSnapshot en el orden de consulta.Si no se usa un método orderBy*() explícito, los resultados se muestran ordenados por clave (a menos que se usen prioridades, en cuyo caso, los resultados se muestran según la prioridad).
hasChild(ruta) Muestra el valor true si la ruta de acceso secundaria especificada tiene datos (no nulos).
hasChild(). Muestra si DataSnapshot tiene propiedades secundarias que no sean null.Puedes usar hasChildren() para determinar si un DataSnapshot tiene algún elemento secundario. Si es así, puedes 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() mostrará null).
toJSON() Muestra una representación JSON serializable de este objeto.
val() Extrae un valor de JavaScript de un DataSnapshot.Según los datos de un DataSnapshot, el método val() puede mostrar un tipo escalar (string, número o booleano), un array o un objeto. También puede mostrar un valor nulo, lo que indica que DataSnapshot está vacío (no contiene datos).

DataSnapshot.key

La clave (última parte de la ruta de acceso) de la ubicación de este DataSnapshot.

El último token en una ubicación de la base de datos se considera su clave. Por ejemplo, "ada" es la clave para el nodo /users/ada/. El acceso a la clave en cualquier DataSnapshot mostrará la clave de la ubicación que la generó. Sin embargo, si accedes a la clave en la URL raíz de una base de datos, se mostrará null.

Firma:

get key(): string | null;

Prioridad de datos

Obtiene el valor de prioridad de los datos de este DataSnapshot.

No es necesario que las aplicaciones usen la prioridad, pero pueden ordenar las colecciones por propiedades comunes (consulta Ordenar y filtrar datos).

Firma:

get priority(): string | number | null;

DataSnapshot.ref

La ubicación de esta DataSnapshot.

Firma:

readonly ref: DatabaseReference;

DataSnapshot.size

Muestra la cantidad de propiedades secundarias de este DataSnapshot.

Firma:

get size(): number;

DataSnapshot.child()

Obtiene otro DataSnapshot para la ubicación en la ruta de acceso relativa especificada.

Pasar una ruta de acceso relativa al método child() de una DataSnapshot muestra otro DataSnapshot para la ubicación en la ruta relativa especificada. La ruta de acceso 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 muestra un DataSnapshot vacío (es decir, un DataSnapshot cuyo valor es null).

Firma:

child(path: string): DataSnapshot;

Parámetros

Parámetro Tipo Descripción
ruta string Es una ruta de acceso relativa a la ubicación de los datos secundarios.

Muestra:

Instantánea de datos

DataSnapshot.exists()

Muestra true si este DataSnapshot contiene datos. Es un poco más eficiente que usar snapshot.val() !== null.

Firma:

exists(): boolean;

Muestra:

booleano

DataSnapshot.exportVal()

Exporta todo el contenido de DataSnapshot como un objeto de JavaScript.

El método exportVal() es similar a val(), pero se incluye información de prioridad (si está disponible), por lo que es adecuado para crear copias de seguridad de tus datos.

Firma:

exportVal(): any;

Muestra:

cualquiera

El contenido de DataSnapshot como un valor de JavaScript (objeto, array, string, número, booleano o null).

DataSnapshot.forEach()

Enumera los elementos secundarios de nivel superior en IteratedDataSnapshot.

Debido al modo en que funcionan los objetos de JavaScript, no se garantiza que el orden de los datos en el objeto JavaScript que muestra val() coincida con el orden en el servidor ni con el orden de los eventos onChildAdded(). Aquí es donde forEach() resulta útil. Garantiza que se iterarán los elementos secundarios de un DataSnapshot en el orden de consulta.

Si no se usa un método orderBy*() explícito, los resultados se muestran ordenados por clave (a menos que se usen prioridades; en ese caso, los resultados se muestran según la prioridad).

Firma:

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

Parámetros

Parámetro Tipo Descripción
acción (elemento secundario: IteratedDataSnapshot) => booleano | anular Una función a la que se llamará para cada DataSnapshot secundaria. La devolución de llamada puede mostrar un valor verdadero para cancelar otras enumeraciones.

Muestra:

booleano

true si la enumeración se canceló debido a que la devolución de llamada muestra el valor true.

DataSnapshot.hasChild()

Muestra el valor true si la ruta de acceso secundaria especificada tiene datos (no nulos).

Firma:

hasChild(path: string): boolean;

Parámetros

Parámetro Tipo Descripción
ruta string Es una ruta de acceso relativa a la ubicación de un posible elemento secundario.

Muestra:

booleano

true si existen datos en la ruta de acceso secundaria especificada. más false.

DataSnapshot.hasChildren()

Muestra si DataSnapshot tiene propiedades secundarias que no sean null.

Puedes usar hasChildren() para determinar si un DataSnapshot tiene elementos secundarios. Si es así, puedes 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() mostrará null).

Firma:

hasChildren(): boolean;

Muestra:

booleano

true si esta instantánea tiene elementos secundarios; si no, es falso.

DataSnapshot.toJSON()

Muestra una representación JSON serializable de este objeto.

Firma:

toJSON(): object | null;

Muestra:

objeto | nulo

DataSnapshot.val()

Extrae un valor de JavaScript de un DataSnapshot.

Según los datos de un DataSnapshot, el método val() puede mostrar un tipo escalar (string, número o booleano), un array o un objeto. También puede mostrar un valor nulo, lo que indica que DataSnapshot está vacío (no contiene datos).

Firma:

val(): any;

Muestra:

cualquiera

El contenido de DataSnapshot como un valor de JavaScript (objeto, array, string, número, booleano o null).