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