Um DataSnapshot
contém dados de um local de banco de dados.
Sempre que você lê dados do banco de dados, você recebe os dados 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 (nos quais você pode chamar val()
).
Um DataSnapshot
é uma cópia imutável e gerada com eficiência dos dados em um local do banco de dados. Ele não pode ser modificado e nunca mudará (para modificar dados, você sempre chama o método set()
em uma Reference
diretamente).
Assinatura:
export declare class DataSnapshot
Propriedades
Propriedade | Modificadores | Tipo | Descrição |
---|---|---|---|
chave | seqüência de caracteres | 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 para o local que a gerou. No entanto, acessar a chave na URL raiz de um banco de dados retornará null . | |
prioridade | seqüência de caracteres | 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 Classificando e filtrando dados ). | |
ref | Referência do banco de dados | A localização deste DataSnapshot. | |
tamanho | número | Retorna o número de propriedades filho 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 barra (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() | Retorna verdadeiro se este DataSnapshot contiver quaisquer dados. É 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 as informações de prioridade estão incluídas (se disponíveis), tornando-o adequado para fazer backup de seus dados. | |
paraCada(ação) | Enumera os filhos de nível superior no IteratedDataSnapshot . Devido à maneira 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() é útil. Ele garante que os filhos de um DataSnapshot serão iterados em sua ordem de consulta. Se nenhum método orderBy*() explícito for usado, os resultados serão retornados ordenados por chave (a menos que prioridades sejam usadas; nesse caso, os resultados serão retornados por prioridade). | |
hasChild(caminho) | Retorna true se o caminho filho especificado tiver dados (não nulos). | |
temFilhos() | Retorna se o DataSnapshot tem ou não propriedades filhas não null . Você pode usar hasChildren() para determinar se um DataSnapshot tem filhos. Em caso afirmativo, você pode enumerá-los usando forEach() . Caso contrário, esse instantâneo contém um valor primitivo (que pode ser recuperado com val() ) ou está vazio (nesse caso, val() retornará null ). | |
toJSON() | Retorna uma representação serializável em JSON desse objeto. | |
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. Ele 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 para o local que a gerou. No entanto, acessar a chave na URL raiz de um banco de dados retornará null
.
Assinatura:
get key(): string | null;
DataSnapshot.priority
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 Classificando e filtrando 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 barra (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()
Retorna verdadeiro se este DataSnapshot
contiver quaisquer dados. É 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 as informações de prioridade 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 à maneira 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()
é útil. Ele garante que os filhos de um DataSnapshot
serão iterados em sua ordem de consulta.
Se nenhum método orderBy*()
explícito for usado, os resultados serão retornados ordenados por chave (a menos que prioridades sejam usadas; 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 true para cancelar mais enumerações. |
Retorna:
boleano
true se a enumeração foi cancelada devido ao seu retorno de chamada retornar true.
DataSnapshot.hasChild()
Retorna true 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 uma criança 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 filhas não null
.
Você pode usar hasChildren()
para determinar se um DataSnapshot
tem filhos. Em caso afirmativo, você pode enumerá-los usando forEach()
. Se não, então 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 em JSON desse 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. Ele 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 (Object, Array, string, number, boolean ou null
).