Um DataSnapshot
contém dados de um local do banco de dados.
Sempre que você lê dados do banco de dados, você os recebe como um DataSnapshot
. Um DataSnapshot
é passado para os retornos de chamada de evento que você anexa com on()
ou once()
. Você pode extrair o conteúdo do instantâneo como um objeto JavaScript chamando o método val()
. Como alternativa, você pode percorrer o instantâneo chamando child()
para retornar instantâneos filhos (que você poderia então chamar val()
).
Um DataSnapshot
é uma cópia imutável e gerada de forma eficiente dos dados em um local do banco de dados. Ele não pode ser modificado e nunca será alterado (para modificar dados, você sempre chama o método set()
diretamente em uma Reference
).
Assinatura:
export declare class DataSnapshot
Propriedades
Propriedade | Modificadores | Tipo | Descrição |
---|---|---|---|
chave | corda | nulo | A chave (última parte do caminho) da localização deste DataSnapshot . O último token em um local do Banco de Dados é considerado sua chave. Por exemplo, "ada" é a chave para o nó /users/ada/. Acessar a chave em qualquer DataSnapshot retornará a chave do local que o gerou. No entanto, acessar a chave na URL raiz de um banco de dados retornará null . | |
prioridade | corda | número | nulo | Obtém o valor de prioridade dos dados neste DataSnapshot . Os aplicativos não precisam usar prioridade, mas podem ordenar coleções por propriedades comuns (consulte Classificação e filtragem de dados ). | |
referência | Referência de banco de dados | A localização deste DataSnapshot. | |
tamanho | número | Retorna o número de propriedades filhas deste DataSnapshot . |
Métodos
Método | Modificadores | Descrição |
---|---|---|
filho (caminho) | Obtém outro DataSnapshot para o local no caminho relativo especificado. Passar um caminho relativo para o método child() de um DataSnapshot retorna outro DataSnapshot para o local no caminho relativo especificado. O caminho relativo pode ser um nome filho simples (por exemplo, "ada") ou um caminho mais profundo, separado por barras (por exemplo, "ada/nome/primeiro"). Se o local filho não tiver dados, um DataSnapshot vazio (ou seja, um DataSnapshot cujo valor é null ) será retornado. | |
existe() | Retornará verdadeiro se este DataSnapshot contiver algum dado. É um pouco mais eficiente do que usar snapshot.val() !== null . | |
exportVal() | Exporta todo o conteúdo do DataSnapshot como um objeto JavaScript. O método exportVal() é semelhante a val() , exceto que informações de prioridade são incluídas (se disponíveis), tornando-o adequado para fazer backup de seus dados. | |
forEach(ação) | Enumera os filhos de nível superior no IteratedDataSnapshot . Devido à forma como os objetos JavaScript funcionam, não há garantia de que a ordem dos dados no objeto JavaScript retornado por val() corresponda à ordem no servidor nem à ordem dos eventos onChildAdded() . É aí que forEach() se torna útil. Garante que os filhos de um DataSnapshot serão iterados na ordem de consulta. Se nenhum método orderBy*() explícito for usado, os resultados serão retornados ordenados por chave (a menos que sejam usadas prioridades; nesse caso, os resultados serão retornados por prioridade). | |
hasChild(caminho) | Retornará verdadeiro se o caminho filho especificado tiver dados (não nulos). | |
temCrianças() | Retorna se o DataSnapshot tem ou não propriedades filho não null . Você pode usar hasChildren() para determinar se um DataSnapshot tem algum filho. Se isso acontecer, você pode enumerá-los usando forEach() . Caso contrário, este instantâneo contém um valor primitivo (que pode ser recuperado com val() ) ou está vazio (nesse caso, val() retornará null ). | |
paraJSON() | Retorna uma representação serializável JSON deste objeto. | |
val() | Extrai um valor JavaScript de um DataSnapshot . Dependendo dos dados em DataSnapshot , o método val() pode retornar um tipo escalar (string, número ou booleano), uma matriz ou um objeto. Também pode retornar nulo, indicando que o DataSnapshot está vazio (não contém dados). |
DataSnapshot.key
A chave (última parte do caminho) da localização deste DataSnapshot
.
O último token em um local do Banco de Dados é considerado sua chave. Por exemplo, "ada" é a chave para o nó /users/ada/. Acessar a chave em qualquer DataSnapshot
retornará a chave do local que o gerou. No entanto, acessar a chave na URL raiz de um banco de dados retornará null
.
Assinatura:
get key(): string | null;
DataSnapshot.prioridade
Obtém o valor de prioridade dos dados neste DataSnapshot
.
Os aplicativos não precisam usar prioridade, mas podem ordenar coleções por propriedades comuns (consulte Classificação e filtragem de dados ).
Assinatura:
get priority(): string | number | null;
DataSnapshot.ref
A localização deste DataSnapshot.
Assinatura:
readonly ref: DatabaseReference;
DataSnapshot.size
Retorna o número de propriedades filhas deste DataSnapshot
.
Assinatura:
get size(): number;
DataSnapshot.child()
Obtém outro DataSnapshot
para o local no caminho relativo especificado.
Passar um caminho relativo para o método child()
de um DataSnapshot retorna outro DataSnapshot
para o local no caminho relativo especificado. O caminho relativo pode ser um nome filho simples (por exemplo, "ada") ou um caminho mais profundo, separado por barras (por exemplo, "ada/nome/primeiro"). Se o local filho não tiver dados, um DataSnapshot
vazio (ou seja, um DataSnapshot
cujo valor é null
) é retornado.
Assinatura:
child(path: string): DataSnapshot;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
caminho | corda | Um caminho relativo para o local dos dados filho. |
Retorna:
DataSnapshot.exists()
Retornará verdadeiro se este DataSnapshot
contiver algum dado. É um pouco mais eficiente do que usar snapshot.val() !== null
.
Assinatura:
exists(): boolean;
Retorna:
boleano
DataSnapshot.exportVal()
Exporta todo o conteúdo do DataSnapshot como um objeto JavaScript.
O método exportVal()
é semelhante a val()
, exceto que informações prioritárias estão incluídas (se disponíveis), tornando-o adequado para fazer backup de seus dados.
Assinatura:
exportVal(): any;
Retorna:
qualquer
O conteúdo do DataSnapshot como um valor JavaScript (Object, Array, string, number, boolean ou null
).
DataSnapshot.forEach()
Enumera os filhos de nível superior no IteratedDataSnapshot
.
Devido à forma como os objetos JavaScript funcionam, não há garantia de que a ordem dos dados no objeto JavaScript retornado por val()
corresponda à ordem no servidor nem à ordem dos eventos onChildAdded()
. É aí que forEach()
se torna útil. Garante que os filhos de um DataSnapshot
serão iterados na ordem de consulta.
Se nenhum método orderBy*()
explícito for usado, os resultados serão retornados ordenados por chave (a menos que sejam usadas prioridades; nesse caso, os resultados serão retornados por prioridade).
Assinatura:
forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
Ação | (filho: IteratedDataSnapshot ) => booleano | vazio | Uma função que será chamada para cada DataSnapshot filho. O retorno de chamada pode retornar verdadeiro para cancelar enumerações adicionais. |
Retorna:
boleano
true se a enumeração foi cancelada devido ao retorno de chamada verdadeiro.
DataSnapshot.hasChild()
Retornará verdadeiro se o caminho filho especificado tiver dados (não nulos).
Assinatura:
hasChild(path: string): boolean;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
caminho | corda | Um caminho relativo para a localização de um filho em potencial. |
Retorna:
boleano
true
se existirem dados no caminho filho especificado; senão false
.
DataSnapshot.hasChildren()
Retorna se o DataSnapshot
tem ou não propriedades filho não null
.
Você pode usar hasChildren()
para determinar se um DataSnapshot
tem algum filho. Se isso acontecer, você pode enumerá-los usando forEach()
. Caso contrário, este instantâneo contém um valor primitivo (que pode ser recuperado com val()
) ou está vazio (nesse caso, val()
retornará null
).
Assinatura:
hasChildren(): boolean;
Retorna:
boleano
true se este instantâneo tiver algum filho; senão falso.
DataSnapshot.toJSON()
Retorna uma representação serializável JSON deste objeto.
Assinatura:
toJSON(): object | null;
Retorna:
objeto | nulo
DataSnapshot.val()
Extrai um valor JavaScript de um DataSnapshot
.
Dependendo dos dados em um DataSnapshot
, o método val()
pode retornar um tipo escalar (string, número ou booleano), uma matriz ou um objeto. Também pode retornar nulo, indicando que o DataSnapshot
está vazio (não contém dados).
Assinatura:
val(): any;
Retorna:
qualquer
O conteúdo do DataSnapshot como um valor JavaScript (objeto, matriz, string, número, booleano ou null
).