Um DataSnapshot
contém dados de um local do Database.
Sempre que você lê dados do banco de dados, eles são recebidos como um DataSnapshot
. Um DataSnapshot
é transmitido aos callbacks do evento anexados com on()
ou once()
. Para extrair o conteúdo do snapshot como um objeto JavaScript, chame o método val()
. Como alternativa, é possível transferir para o snapshot chamando child()
para retornar snapshots filhos (nos quais você pode chamar val()
).
Um DataSnapshot
é uma cópia imutável e gerada de forma eficiente dos dados em um local do Database. Ele não pode ser modificado e nunca vai mudar. Para modificar os dados, sempre chame o método set()
diretamente em uma Reference
.
Assinatura:
export declare class DataSnapshot
Propriedades
Propriedade | Modificadores | Tipo | Descrição |
---|---|---|---|
key | string | nulo | A chave (a última parte do caminho) do local desse DataSnapshot .O último token em um local do banco de dados é considerado a chave dele. Por exemplo, "ada" é a chave para o nó /users/ada/. Acessar a chave em qualquer DataSnapshot vai retornar a chave do local que a gerou. No entanto, acessar a chave no URL raiz de um banco de dados retornará null . |
|
prioridade | string | número | nulo | Recebe o valor de prioridade dos dados nessa DataSnapshot .Os aplicativos não precisam usar prioridade, mas podem ordenar as coleções por propriedades comuns. Consulte Como classificar e filtrar dados. |
|
ref | DatabaseReference (em inglês) | O local deste DataSnapshot. | |
size | number | Retorna o número de propriedades filhas desse DataSnapshot . |
Métodos
Método | Modificadores | Descrição |
---|---|---|
child(path) (link em inglês) | Recebe outro DataSnapshot para o local no caminho relativo especificado.Transmitir 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 de filho simples (por exemplo, "ada") ou um caminho mais profundo separado por barras (por exemplo, "ada/name/first"). Se o local filho não tiver dados, uma DataSnapshot vazia (ou seja, uma DataSnapshot com o valor null ) será retornada. |
|
exists(); | Retorna "true" se esta DataSnapshot contiver dados. É um pouco mais eficiente do que usar snapshot.val() !== null . |
|
exportVal() (em inglês). | Exporta todo o conteúdo do DataSnapshot como um objeto JavaScript.O método exportVal() é semelhante a val() , exceto pelo fato de que informações de prioridade são incluídas (se disponíveis), o que a torna adequada para o backup dos seus dados. |
|
forCada(ação) (link em inglês) | Enumera os filhos de nível superior no IteratedDataSnapshot .Devido ao modo 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 aos eventos onChildAdded() . É aí que a propriedade forEach() vai ser útil. Isso garante que os filhos de uma DataSnapshot sejam iterados na ordem da 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(path) (link em inglês) | Retorna "true" se o caminho filho especificado tiver dados (não nulos). | |
hasChildren() | Retorna se DataSnapshot tem ou não propriedades filhas que não sejam null .É possível usar hasChildren() para determinar se uma DataSnapshot tem filhos. Se isso acontecer, você pode enumerá-los usando forEach() . Caso contrário, o snapshot contém um valor primitivo (que pode ser recuperado com val() ) ou está vazio (nesse caso, val() retorna null ). |
|
toJSON() (link em inglês) | Retorna uma representação serializável do JSON desse objeto. | |
val() (em inglês) | 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 DataSnapshot está vazio (não contém dados). |
DataSnapshot.key
A chave (a última parte do caminho) do local deste DataSnapshot
.
O último token no local do banco de dados é considerado a chave dele. Por exemplo, "ada" é a chave para o nó /users/ada/. Acessar a chave em qualquer DataSnapshot
vai retornar a chave do local que a gerou. No entanto, acessar a chave no URL raiz de um banco de dados retornará null
.
Assinatura:
get key(): string | null;
DataSnapshot.priority
Recebe o valor de prioridade dos dados nessa DataSnapshot
.
Os aplicativos não precisam usar prioridade, mas podem ordenar as coleções por propriedades comuns. Consulte Como classificar e filtrar dados.
Assinatura:
get priority(): string | number | null;
DataSnapshot.ref
O local deste DataSnapshot.
Assinatura:
readonly ref: DatabaseReference;
DataSnapshot.size
Retorna o número de propriedades filhas desse DataSnapshot
.
Assinatura:
get size(): number;
DataSnapshot.child()
Recebe outro DataSnapshot
para o local no caminho relativo especificado.
Transmitir 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 de filho simples (por exemplo, "ada") ou um caminho mais profundo separado por barras (por exemplo, "ada/name/first"). Se o local filho não tiver dados, será retornado uma DataSnapshot
vazia (ou seja, uma DataSnapshot
com o valor null
).
Assinatura:
child(path: string): DataSnapshot;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
path | string | Um caminho relativo para o local dos dados filhos. |
Retorna:
DataSnapshot (em inglês)
DataSnapshot.exists()
Retorna "true" se esta DataSnapshot
contiver dados. É um pouco mais eficiente do que usar snapshot.val() !== null
.
Assinatura:
exists(): boolean;
Retorna:
booleano
DataSnapshot.exportVal()
Exporta todo o conteúdo do DataSnapshot como um objeto JavaScript.
O método exportVal()
é semelhante ao val()
, mas inclui informações de prioridade (se disponíveis), o que o torna adequado para backup dos dados.
Assinatura:
exportVal(): any;
Retorna:
qualquer um
O conteúdo do DataSnapshot como um valor JavaScript (objeto, matriz, string, número, booleano ou null
).
DataSnapshot.forPersonalized().
Enumera os filhos de nível superior na 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 a propriedade forEach()
vai ser útil. Isso garante que os filhos de uma DataSnapshot
sejam 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 | anular | Uma função que será chamada para cada DataSnapshot filho. O callback pode retornar "true" para cancelar outras enumeração. |
Retorna:
booleano
true se a enumeração tiver sido cancelada devido ao retorno do callback "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 |
---|---|---|
path | string | Um caminho relativo para a localização de um filho em potencial. |
Retorna:
booleano
true
se os dados existirem no caminho filho especificado. caso contrário, false
.
DataSnapshot.hasChildren()
Retorna se DataSnapshot
tem ou não propriedades filhas que não sejam null
.
Você pode usar hasChildren()
para determinar se uma DataSnapshot
tem filhos. Se esse for o caso, você pode enumerá-los usando forEach()
. Caso contrário, o snapshot contém um valor primitivo (que pode ser recuperado com val()
) ou está vazio (nesse caso, val()
retorna null
).
Assinatura:
hasChildren(): boolean;
Retorna:
booleano
"true" se este snapshot tiver filhos. caso contrário, é "false".
DataSnapshot.toJSON()
Retorna uma representação serializável do JSON desse objeto.
Assinatura:
toJSON(): object | null;
Retorna:
objeto | nulo
DataSnapshot.val()
Extrai um valor JavaScript de um DataSnapshot
.
Dependendo dos dados em uma 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 DataSnapshot
está vazio (não contém dados).
Assinatura:
val(): any;
Retorna:
qualquer um
O conteúdo do DataSnapshot como um valor JavaScript (objeto, matriz, string, número, booleano ou null
).