@firebase/firestore/lite

Funções

Função Descrição
função (aplicativo...)
obterFirestore(aplicativo) Retorna a instância padrão existente do Firestore associada ao FirebaseApp fornecido . Se não existir nenhuma instância, inicializa uma nova instância com configurações padrão.
getFirestore(aplicativo,databaseId) (BETA) Retorna a instância existente do Firestore associada ao FirebaseApp fornecido . Se não existir nenhuma instância, inicializa uma nova instância com configurações padrão.
inicializarFirestore(aplicativo, configurações) Inicializa uma nova instância do Cloud Firestore com as configurações fornecidas. Só pode ser chamado antes de qualquer outra função, incluindo getFirestore() . Se as configurações personalizadas estiverem vazias, esta função equivale a chamar getFirestore() .
inicializeFirestore(aplicativo, configurações, ID do banco de dados) (BETA) Inicializa uma nova instância do Cloud Firestore com as configurações fornecidas. Só pode ser chamado antes de qualquer outra função, incluindo getFirestore() . Se as configurações personalizadas estiverem vazias, esta função equivale a chamar getFirestore() .
função (armazenamento de fogo...)
coleção(firestore, caminho, pathSegments) Obtém uma instância CollectionReference que se refere à coleção no caminho absoluto especificado.
grupo de coleção(firestore,coleçãoId) Cria e retorna uma nova instância Query que inclui todos os documentos no banco de dados que estão contidos em uma coleção ou subcoleção com o determinado collectionId .
connectFirestoreEmulator(firestore, host, porta, opções) Modifique esta instância para se comunicar com o emulador do Cloud Firestore. Nota: Isso deve ser chamado antes que esta instância seja usada para realizar qualquer operação.
doc(firestore, caminho, pathSegments) Obtém uma instância DocumentReference que se refere ao documento no caminho absoluto especificado.
runTransaction(firestore, updateFunction, opções) Executa o updateFunction fornecido e, em seguida, tenta confirmar as alterações aplicadas na transação. Se algum documento lido na transação tiver sido alterado, o Cloud Firestore tentará novamente updateFunction . Se não conseguir confirmar após 5 tentativas, a transação falhará. O número máximo de gravações permitidas em uma única transação é 500.
terminar (firestore) Encerra a instância fornecida Firestore . Depois de chamar terminate() apenas as funções clearIndexedDbPersistence() podem ser usadas. Qualquer outra função lançará um FirestoreError . A rescisão não cancela nenhuma gravação pendente e quaisquer promessas que aguardam uma resposta do servidor não serão resolvidas. Para reiniciar após o encerramento, crie uma nova instância do Firestore com getFirestore() . Nota: Em circunstâncias normais, chamar terminate() não é necessário. Esta função é útil apenas quando você deseja forçar esta instância a liberar todos os seus recursos ou em combinação com clearIndexedDbPersistence() para garantir que todo o estado local seja destruído entre as execuções de teste.
writeBatch(firestore) Cria um lote de gravação, usado para realizar várias gravações como uma única operação atômica. O número máximo de gravações permitidas em um único WriteBatch é 500. O resultado dessas gravações só será refletido nas leituras de documentos que ocorrerem após a promessa retornada ser resolvida. Se o cliente estiver offline, a gravação falhará. Se você quiser ver modificações locais ou gravações de buffer até que o cliente esteja on-line, use o SDK completo do Firestore.
função()
contar() Crie um objeto AggregateField que possa ser usado para calcular a contagem de documentos no conjunto de resultados de uma consulta.
deleteField() Retorna uma sentinela para uso com updateDoc() ou setDoc() com {merge: true} para marcar um campo para exclusão.
documentoId() Retorna um FieldPath sentinela especial para se referir ao ID de um documento. Pode ser usado em consultas para classificar ou filtrar pelo ID do documento.
getFirestore() Retorna a instância padrão existente do Firestore associada ao FirebaseApp padrão . Se não existir nenhuma instância, inicializa uma nova instância com configurações padrão.
servidorTimestamp() Retorna um sentinela usado com setDoc() ou updateDoc() para incluir um carimbo de data/hora gerado pelo servidor nos dados gravados.
função(databaseId...)
getFirestore(databaseId) (BETA) Retorna a instância existente do Firestore associada ao FirebaseApp padrão . Se não existir nenhuma instância, inicializa uma nova instância com configurações padrão.
função(elementos...)
arrayRemover(elementos) Retorna um valor especial que pode ser usado com setDoc() ou que informa ao servidor para remover os elementos fornecidos de qualquer valor de array que já exista no servidor. Todas as instâncias de cada elemento especificado serão removidas do array. Se o campo que está sendo modificado ainda não for um array, ele será substituído por um array vazio.
arrayUnion(elementos) Retorna um valor especial que pode ser usado com setDoc() ou updateDoc() que informa ao servidor para unir os elementos fornecidos com qualquer valor de array que já exista no servidor. Cada elemento especificado que ainda não existe no array será adicionado ao final. Se o campo que está sendo modificado ainda não for um array, ele será substituído por um array contendo exatamente os elementos especificados.
função(campo...)
média (campo) Crie um objeto AggregateField que possa ser usado para calcular a média de um campo especificado em um intervalo de documentos no conjunto de resultados de uma consulta.
soma(campo) Crie um objeto AggregateField que possa ser usado para calcular a soma de um campo especificado em um intervalo de documentos no conjunto de resultados de uma consulta.
função(campoCaminho...)
orderBy(fieldPath, direçãoStr) Cria um QueryOrderByConstraint que classifica o resultado da consulta pelo campo especificado, opcionalmente em ordem decrescente em vez de crescente. Nota: Documentos que não contenham o campo especificado não estarão presentes no resultado da consulta.
onde(fieldPath, opStr, valor) Cria um QueryFieldFilterConstraint que impõe que os documentos devem conter o campo especificado e que o valor deve satisfazer a restrição de relação fornecida.
função(campoValores...)
endAt(campoValores) Cria um QueryEndAtConstraint que modifica o conjunto de resultados para terminar nos campos fornecidos em relação à ordem da consulta. A ordem dos valores dos campos deve corresponder à ordem das cláusulas order by da consulta.
endBefore(campoValores) Cria um QueryEndAtConstraint que modifica o conjunto de resultados para terminar antes dos campos fornecidos em relação à ordem da consulta. A ordem dos valores dos campos deve corresponder à ordem das cláusulas order by da consulta.
startAfter(campoValores) Cria um QueryStartAtConstraint que modifica o conjunto de resultados para iniciar após os campos fornecidos em relação à ordem da consulta. A ordem dos valores dos campos deve corresponder à ordem das cláusulas order by da consulta.
startAt(campoValores) Cria um QueryStartAtConstraint que modifica o conjunto de resultados para iniciar nos campos fornecidos em relação à ordem da consulta. A ordem dos valores dos campos deve corresponder à ordem das cláusulas order by da consulta.
função (esquerda...)
agregadoFieldEqual(esquerda, direita) Compara dois 'AggregateField ` instâncias para a igualdade.
agregadoQuerySnapshotEqual(esquerda, direita) Compara duas instâncias AggregateQuerySnapshot quanto à igualdade. Duas instâncias AggregateQuerySnapshot serão consideradas "iguais" se tiverem consultas subjacentes que comparem dados iguais e iguais.
queryEqual(esquerda, direita) Retornará verdadeiro se as consultas fornecidas apontarem para a mesma coleção e aplicarem as mesmas restrições.
refEqual(esquerda, direita) Retorna verdadeiro se as referências fornecidas forem iguais.
snapshotEqual(esquerda, direita) Retornará verdadeiro se os instantâneos fornecidos forem iguais.
função(limite...)
limite(limite) Cria um QueryLimitConstraint que retorna apenas os primeiros documentos correspondentes.
limitToLast(limite) Cria um QueryLimitConstraint que retorna apenas os últimos documentos correspondentes. Você deve especificar pelo menos uma cláusula orderBy para consultas limitToLast , caso contrário, uma exceção será lançada durante a execução.
função(logLevel...)
setLogLevel(logLevel) Define o detalhamento dos logs do Cloud Firestore (depuração, erro ou silencioso).
função(n...)
incremento(n) Retorna um valor especial que pode ser usado com setDoc() ou updateDoc() que informa ao servidor para incrementar o valor atual do campo pelo valor fornecido. Se o operando ou o valor do campo atual usar precisão de ponto flutuante, toda a aritmética seguirá a semântica IEEE 754. Se ambos os valores forem inteiros, os valores fora do intervalo de números seguros do JavaScript ( Number.MIN_SAFE_INTEGER a Number.MAX_SAFE_INTEGER ) também estarão sujeitos à perda de precisão. Além disso, uma vez processadas pelo back-end do Firestore, todas as operações inteiras são limitadas entre -2^63 e 2^63-1. Se o valor do campo atual não for do tipo number ou se o campo ainda não existir, a transformação definirá o campo com o valor fornecido.
função(consulta...)
getAggregate(consulta, agregaçãoSpec) Calcula as agregações especificadas sobre os documentos no conjunto de resultados da consulta determinada, sem realmente fazer download dos documentos. Usar esta função para realizar agregações é eficiente porque apenas os valores finais da agregação, e não os dados dos documentos, são baixados. Esta função pode até realizar agregações de documentos se o conjunto de resultados for proibitivamente grande para download completo (por exemplo, milhares de documentos).
getCount(consulta) Calcula o número de documentos no conjunto de resultados de uma determinada consulta, sem realmente fazer download dos documentos. Usar esta função para contar os documentos é eficiente porque apenas a contagem final, e não os dados dos documentos, é baixada. Esta função pode até contar os documentos se o conjunto de resultados for proibitivamente grande para download completo (por exemplo, milhares de documentos).
getDocs(consulta) Executa a consulta e retorna os resultados como QuerySnapshot . Todas as consultas são executadas diretamente pelo servidor, mesmo que a consulta tenha sido executada anteriormente. As modificações recentes só serão refletidas nos resultados recuperados se já tiverem sido aplicadas pelo backend. Se o cliente estiver offline, a operação falhará. Para ver o resultado armazenado em cache anteriormente e as modificações locais, use o SDK completo do Firestore.
consulta(consulta, filtro composto, queryConstraints) Cria uma nova instância imutável de Query que é estendida para incluir também restrições de consulta adicionais.
consulta(consulta, queryConstraints) Cria uma nova instância imutável de Query que é estendida para incluir também restrições de consulta adicionais.
função(queryConstraints...)
e (queryConstraints) Cria um novo QueryCompositeFilterConstraint que é uma conjunção das restrições de filtro fornecidas. Um filtro de conjunção inclui um documento se ele satisfizer todos os filtros fornecidos.
ou (queryConstraints) Cria um novo QueryCompositeFilterConstraint que é uma disjunção das restrições de filtro fornecidas. Um filtro de disjunção inclui um documento se ele satisfizer algum dos filtros fornecidos.
função(referência...)
addDoc(referência, dados) Adicione um novo documento ao CollectionReference especificado com os dados fornecidos, atribuindo-lhe um ID de documento automaticamente. O resultado desta gravação só será refletido nas leituras de documentos que ocorrerem após a promessa retornada ser resolvida. Se o cliente estiver offline, a gravação falhará. Se você quiser ver modificações locais ou gravações de buffer até que o cliente esteja on-line, use o SDK completo do Firestore.
coleção(referência, caminho, pathSegments) Obtém uma instância CollectionReference que se refere a uma subcoleção de reference no caminho relativo especificado.
coleção(referência, caminho, pathSegments) Obtém uma instância CollectionReference que se refere a uma subcoleção de reference no caminho relativo especificado.
deleteDoc(referência) Exclui o documento referido pelo DocumentReference especificado. A exclusão só será refletida nas leituras de documentos que ocorrerem após a promessa retornada ser resolvida. Se o cliente estiver offline, a exclusão falhará. Se você quiser ver modificações locais ou gravações de buffer até que o cliente esteja on-line, use o SDK completo do Firestore.
doc(referência, caminho, pathSegments) Obtém uma instância DocumentReference que se refere a um documento dentro da reference no caminho relativo especificado. Se nenhum caminho for especificado, um ID exclusivo gerado automaticamente será usado para o DocumentReference retornado.
doc(referência, caminho, pathSegments) Obtém uma instância DocumentReference que se refere a um documento dentro reference no caminho relativo especificado.
getDoc(referência) Lê o documento referido pela referência de documento especificada. Todos os documentos são obtidos diretamente do servidor, mesmo que o documento tenha sido lido ou modificado anteriormente. As modificações recentes só serão refletidas no DocumentSnapshot recuperado se já tiverem sido aplicadas pelo backend. Se o cliente estiver offline, a leitura falhará. Se você gosta de usar cache ou ver modificações locais, use o SDK completo do Firestore.
setDoc(referência,dados) Grava no documento referido pelo DocumentReference especificado. Caso o documento ainda não exista, ele será criado. O resultado desta gravação só será refletido nas leituras de documentos que ocorrerem após a promessa retornada ser resolvida. Se o cliente estiver offline, a gravação falhará. Se você quiser ver modificações locais ou gravações de buffer até que o cliente esteja on-line, use o SDK completo do Firestore.
setDoc(referência, dados, opções) Grava no documento referido pelo DocumentReference especificado. Caso o documento ainda não exista, ele será criado. Se você fornecer merge ou mergeFields , os dados fornecidos poderão ser mesclados em um documento existente. O resultado desta gravação só será refletido nas leituras de documentos que ocorrerem após a promessa retornada ser resolvida. Se o cliente estiver offline, a gravação falhará. Se você quiser ver modificações locais ou gravações de buffer até que o cliente esteja on-line, use o SDK completo do Firestore.
updateDoc(referência, dados) Atualiza os campos no documento referido pelo DocumentReference especificado. A atualização falhará se for aplicada a um documento que não existe. O resultado desta atualização só será refletido nas leituras de documentos que ocorrerem após a promessa retornada ser resolvida. Se o cliente estiver offline, a atualização falhará. Se você quiser ver modificações locais ou gravações de buffer até que o cliente esteja on-line, use o SDK completo do Firestore.
updateDoc(referência, campo, valor, moreFieldsAndValues) Atualiza campos no documento referenciado pelo DocumentReference especificado. A atualização falhará se aplicada a um documento que não existe. Os campos aninhados podem ser atualizados fornecendo cadeias de caracteres de caminho de campo separadas por pontos ou fornecendo objetos FieldPath . O resultado desta atualização só será refletido nas leituras de documentos que ocorrerem após a promessa retornada ser resolvida. Se o cliente estiver offline, a atualização falhará. Se você quiser ver modificações locais ou gravações de buffer até que o cliente esteja on-line, use o SDK completo do Firestore.
função (instantâneo...)
endAt(instantâneo) Cria um QueryEndAtConstraint que modifica o conjunto de resultados para terminar no documento fornecido (inclusive). A posição final é relativa à ordem da consulta. O documento deve conter todos os campos fornecidos no orderBy da consulta.
endBefore (instantâneo) Cria um QueryEndAtConstraint que modifica o conjunto de resultados para terminar antes do documento fornecido (exclusivo). A posição final é relativa à ordem da consulta. O documento deve conter todos os campos fornecidos no orderBy da consulta.
startAfter(instantâneo) Cria um QueryStartAtConstraint que modifica o conjunto de resultados para iniciar após o documento fornecido (exclusivo). A posição inicial é relativa à ordem da consulta. O documento deve conter todos os campos fornecidos no orderBy da consulta.
startAt(instantâneo) Cria um QueryStartAtConstraint que modifica o conjunto de resultados para iniciar no documento fornecido (inclusive). A posição inicial é relativa à ordem da consulta. O documento deve conter todos os campos fornecidos no orderBy desta consulta.

Aulas

Aula Descrição
CampoAgregado Representa uma agregação que pode ser realizada pelo Firestore.
AggregateQuerySnapshot Os resultados da execução de uma consulta de agregação.
Bytes Um objeto imutável que representa uma matriz de bytes.
Referência de coleção Um objeto CollectionReference pode ser usado para adicionar documentos, obter referências de documentos e consultar documentos (usando query() ).
Referência de Documento Um DocumentReference refere-se a um local de documento em um banco de dados Firestore e pode ser usado para gravar, ler ou ouvir o local. O documento no local referenciado pode ou não existir.
Instantâneo do documento Um DocumentSnapshot contém dados lidos de um documento no banco de dados do Firestore. Os dados podem ser extraídos com .data() ou .get(<field>) para obter um campo específico. Para um DocumentSnapshot que aponta para um documento inexistente, qualquer acesso a dados retornará 'indefinido'. Você pode usar o método exists() para verificar explicitamente a existência de um documento.
CampoCaminho Um FieldPath refere-se a um campo em um documento. O caminho pode consistir em um único nome de campo (referindo-se a um campo de nível superior no documento) ou em uma lista de nomes de campos (referindo-se a um campo aninhado no documento). Crie um FieldPath fornecendo nomes de campo. Se mais de um nome de campo for fornecido, o caminho apontará para um campo aninhado em um documento.
CampoValor Valores sentinela que podem ser usados ​​ao escrever campos de documento com set() ou update() .
Armazém de Fogo A interface do serviço Cloud Firestore. Não chame esse construtor diretamente. Em vez disso, use getFirestore() .
Erro Firestore Um erro retornado por uma operação do Firestore.
GeoPonto Um objeto imutável que representa uma localização geográfica no Firestore. A localização é representada como par latitude/longitude. Os valores de latitude estão na faixa de [-90, 90]. Os valores de longitude estão na faixa de [-180, 180].
Consulta Uma Query refere-se a uma consulta que você pode ler ou ouvir. Você também pode construir objetos Query refinados adicionando filtros e ordenando.
QueryCompositeFilterConstraint Um QueryCompositeFilterConstraint é usado para restringir o conjunto de documentos retornados por uma consulta do Firestore executando o OR ou AND lógico de vários QueryFieldFilterConstraint s ou QueryCompositeFilterConstraint S. QueryCompositeFilterConstraint s são criados invocando or() ou and() e podem então ser passados ​​para query() para criar uma nova instância de consulta que também contém QueryCompositeFilterConstraint .
QueryConstraint Um QueryConstraint é usado para restringir o conjunto de documentos retornados por uma consulta do Firestore. QueryConstraint s são criados invocando where() , ordenarBy() , startAt() , começarDepois() , fimAntes() , fimAt() , limite() , limitToLast() e pode então ser passado para query() para criar uma nova instância de consulta que também contém este QueryConstraint .
QueryDocumentSnapshot Um QueryDocumentSnapshot contém dados lidos de um documento no banco de dados do Firestore como parte de uma consulta. É garantida a existência do documento e seus dados podem ser extraídos com .data() ou .get(<field>) para obter um campo específico. Um QueryDocumentSnapshot oferece a mesma superfície de API que um DocumentSnapshot . Como os resultados da consulta contêm apenas documentos existentes, a propriedade exists sempre será verdadeira e data() nunca retornará 'indefinido'.
QueryEndAtConstraint Um QueryEndAtConstraint é usado para excluir documentos do final de um conjunto de resultados retornado por uma consulta do Firestore. QueryEndAtConstraint s são criados invocando endAt() ou endBefore() e podem então ser passados ​​para query() para criar uma nova instância de consulta que também contém este QueryEndAtConstraint .
QueryFieldFilterConstraint Um QueryFieldFilterConstraint é usado para restringir o conjunto de documentos retornados por uma consulta do Firestore, filtrando um ou mais campos do documento. QueryFieldFilterConstraint s são criados invocando where() e podem então ser passados ​​para query() para criar uma nova instância de consulta que também contém este QueryFieldFilterConstraint .
QueryLimitConstraint Um QueryLimitConstraint é usado para limitar o número de documentos retornados por uma consulta do Firestore. QueryLimitConstraint s são criados invocando limit() ou limitToLast() e podem então ser passados ​​para query() para criar uma nova instância de consulta que também contém este QueryLimitConstraint .
QueryOrderByConstraint Um QueryOrderByConstraint é usado para classificar o conjunto de documentos retornados por uma consulta do Firestore. QueryOrderByConstraint s são criados invocando orderBy() e podem então ser passados ​​para query() para criar uma nova instância de consulta que também contém este QueryOrderByConstraint . Nota: Documentos que não contenham o campo orderBy não estarão presentes no resultado da consulta.
Consulta Instantâneo Um QuerySnapshot contém zero ou mais objetos DocumentSnapshot que representam os resultados de uma consulta. Os documentos podem ser acessados ​​como um array através da propriedade docs ou enumerados usando o método forEach . O número de documentos pode ser determinado através das propriedades empty e size .
QueryStartAtConstraint Um QueryStartAtConstraint é usado para excluir documentos do início de um conjunto de resultados retornado por uma consulta do Firestore. QueryStartAtConstraint s são criados invocando startAt() ou startAfter() e podem então ser passados ​​para query() para criar uma nova instância de consulta que também contém este QueryStartAtConstraint .
Carimbo de data e hora Um Timestamp representa um ponto no tempo independente de qualquer fuso horário ou calendário, representado como segundos e frações de segundos em resolução de nanossegundos no horário UTC Epoch. É codificado usando o Calendário Gregoriano Proléptico, que estende o calendário gregoriano para trás, até o primeiro ano. Ele é codificado assumindo que todos os minutos têm 60 segundos de duração, ou seja, os segundos bissextos são "borrados" de modo que nenhuma tabela de segundos bissextos é necessária para interpretação. O intervalo é de 0001-01-01T00:00:00Z a 9999-12-31T23:59:59.999999999Z. Para exemplos e especificações adicionais, consulte a definição de carimbo de data/hora .
Transação Uma referência a uma transação. O objeto Transaction passado para updateFunction de uma transação fornece os métodos para ler e gravar dados dentro do contexto da transação. Veja runTransaction() .
WriteBatch Um lote de gravação, usado para realizar várias gravações como uma única unidade atômica. Um objeto WriteBatch pode ser adquirido chamando writeBatch() . Ele fornece métodos para adicionar gravações ao lote de gravação. Nenhuma das gravações será confirmada (ou visível localmente) até que WriteBatch.commit() seja chamado.

Interfaces

Interface Descrição
Especificação agregada Especifica um conjunto de agregações e seus aliases.
DocumentData Dados do documento (para uso com setDoc() ) consiste em campos mapeados para valores.
FirestoreDataConverter Conversor usado por withConverter() para transformar objetos de usuário do tipo AppModelType em dados do Firestore do tipo DbModelType . O uso do conversor permite especificar argumentos de tipo genérico ao armazenar e recuperar objetos do Firestore.
Configurações Especifica configurações personalizadas para sua instância do Cloud Firestore. Você deve defini-los antes de invocar qualquer outro método.
Opções de transação Opções para personalizar o comportamento da transação.

Aliases de tipo

Digite Alias Descrição
AdicionarPrefixToKeys Retorna um novo mapa onde cada chave é prefixada com a chave externa anexada a um ponto.
AggregateFieldType A união de todos os tipos AggregateField compatíveis com o Firestore.
AggregateSpecData Um tipo cujas chaves são obtidas de um AggregateSpec e cujos valores são o resultado da agregação executada pelo AggregateField correspondente da entrada AggregateSpec .
AggregateType Tipo de união que representa o tipo de agregação a ser executada.
ChildUpdateFields Auxiliar para cálculo dos campos aninhados para um determinado tipo T1. Isso é necessário para distribuir tipos de união como undefined | {...} (acontece para adereços opcionais) ou {a: A} | {b: B} . Neste caso de uso, V é usado para distribuir os tipos de união de T[K] em Record , uma vez que T[K] é avaliado como uma expressão e não distribuído. Consulte https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types
Código de erro do Firestore O conjunto de códigos de status do Firestore. Os códigos são os mesmos expostos pelo gRPC aqui: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md Valores possíveis: - 'cancelled': A operação foi cancelada (normalmente pelo chamador). - 'desconhecido': Erro desconhecido ou erro de um domínio de erro diferente. - 'argumento inválido': o cliente especificou um argumento inválido. Observe que isso difere de 'pré-condição com falha'. 'argumento inválido' indica argumentos que são problemáticos independentemente do estado do sistema (por exemplo, um nome de campo inválido). - 'prazo excedido': O prazo expirou antes que a operação pudesse ser concluída. Para operações que alteram o estado do sistema, este erro pode ser retornado mesmo que a operação tenha sido concluída com êxito. Por exemplo, uma resposta bem-sucedida de um servidor poderia ter sido atrasada o suficiente para que o prazo expirasse. - 'não encontrado': Algum documento solicitado não foi encontrado. - 'já existe': Algum documento que tentamos criar já existe. - 'permission-denied': O chamador não tem permissão para executar a operação especificada. - 'recurso esgotado': algum recurso foi esgotado, talvez uma cota por usuário, ou talvez todo o sistema de arquivos esteja sem espaço. - 'failed-precondition': A operação foi rejeitada porque o sistema não está no estado necessário para a execução da operação. - 'abortado': A operação foi abortada, normalmente devido a um problema de simultaneidade, como abortos de transação, etc. - 'fora do intervalo': A operação foi tentada além do intervalo válido. - 'não implementado': a operação não está implementada ou não é suportada/habilitada. - 'interno': Erros internos. Significa que alguns invariantes esperados pelo sistema subjacente foram quebrados. Se você vir um desses erros, algo está muito quebrado. - 'indisponível': O serviço não está disponível no momento. Esta é provavelmente uma condição transitória e pode ser corrigida tentando novamente com uma espera. - 'perda de dados': perda ou corrupção irrecuperável de dados. - 'unauthenticated': A solicitação não possui credenciais de autenticação válidas para a operação.
NestedUpdateFields Para cada campo (por exemplo, 'bar'), encontre todas as chaves aninhadas (por exemplo, { 'bar.baz': T1, 'bar.qux': T2 } ). Cruze-os para fazer um único mapa contendo todas as chaves possíveis, todas marcadas como opcionais
Pedido por direção A direção de uma cláusula orderBy() é especificada como 'desc' ou 'asc' (decrescente ou ascendente).
PartialWithFieldValue Semelhante ao Partial<T> do Typescript, mas permite que campos aninhados sejam omitidos e FieldValues ​​sejam passados ​​como valores de propriedade.
Primitivo Tipos primitivos.
QueryConstraintType Descreve as diferentes restrições de consulta disponíveis neste SDK.
QueryFilterConstraint QueryFilterConstraint é um tipo de união auxiliar que representa QueryFieldFilterConstraint e QueryCompositeFilterConstraint .
QueryNonFilterConstraint QueryNonFilterConstraint é um tipo de união auxiliar que representa QueryConstraints que são usados ​​para restringir ou ordenar o conjunto de documentos, mas que não filtram explicitamente em um campo de documento. QueryNonFilterConstraint s são criados invocando orderBy() , startAt() , começarDepois() , fimAntes() , fimAt() , limit() ou limitToLast() e pode então ser passado para query() para criar uma nova instância de consulta que também contém QueryConstraint .
Definir opções Um objeto de opções que configura o comportamento de setDoc() e chamadas. Essas chamadas podem ser configuradas para executar mesclagens granulares em vez de substituir os documentos de destino em sua totalidade, fornecendo SetOptions com merge: true .
UniãoToInterseção Dado um tipo de união U = T1 | T2 | ... , retorna um tipo cruzado (T1 & T2 & ...) . Usa tipos condicionais distributivos e inferência de tipos condicionais. Isso funciona porque vários candidatos para a mesma variável de tipo em posições contravariantes fazem com que um tipo de interseção seja inferido. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection -tipo
Atualizar dados Atualizar dados (para uso com updateDoc() ) que consiste em caminhos de campo (por exemplo, 'foo' ou 'foo.baz') mapeados para valores. Os campos que contêm pontos fazem referência a campos aninhados no documento. FieldValues ​​podem ser passados ​​como valores de propriedade.
OndeFiltroOp As condições de filtro em uma cláusula where() são especificadas usando as strings '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains' , 'in', 'array-contains-any' e 'not-in'.
ComFieldValue Permite que FieldValues ​​seja passado como um valor de propriedade, mantendo a segurança do tipo.

getFirestore()

Retorna a instância padrão existente do Firestore associada ao FirebaseApp fornecido . Se não existir nenhuma instância, inicializa uma nova instância com configurações padrão.

Assinatura:

export declare function getFirestore(app: FirebaseApp): Firestore;

Parâmetros

Parâmetro Tipo Descrição
aplicativo Aplicativo Firebase A instância do FirebaseApp à qual a instância retornada do Firestore está associada.

Retorna:

Armazém de Fogo

A instância do Firestore do aplicativo fornecido.

getFirestore()

Esta API é fornecida como uma prévia para desenvolvedores e pode mudar com base no feedback que recebermos. Não use esta API em um ambiente de produção.

Retorna a instância existente do Firestore associada ao FirebaseApp fornecido . Se não existir nenhuma instância, inicializa uma nova instância com configurações padrão.

Assinatura:

export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;

Parâmetros

Parâmetro Tipo Descrição
aplicativo Aplicativo Firebase A instância do FirebaseApp à qual a instância retornada do Firestore está associada.
ID do banco de dados corda O nome do banco de dados.

Retorna:

Armazém de Fogo

A instância do Firestore do aplicativo fornecido.

inicializarFirestore()

Inicializa uma nova instância do Cloud Firestore com as configurações fornecidas. Só pode ser chamado antes de qualquer outra função, incluindo getFirestore() . Se as configurações personalizadas estiverem vazias, esta função equivale a chamar getFirestore() .

Assinatura:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore;

Parâmetros

Parâmetro Tipo Descrição
aplicativo Aplicativo Firebase O FirebaseApp ao qual a instância Firestore será associada.
configurações Configurações Um objeto de configurações para configurar a instância Firestore .

Retorna:

Armazém de Fogo

Uma instância Firestore recém-inicializada.

inicializarFirestore()

Esta API é fornecida como uma prévia para desenvolvedores e pode mudar com base no feedback que recebermos. Não use esta API em um ambiente de produção.

Inicializa uma nova instância do Cloud Firestore com as configurações fornecidas. Só pode ser chamado antes de qualquer outra função, incluindo getFirestore() . Se as configurações personalizadas estiverem vazias, esta função equivale a chamar getFirestore() .

Assinatura:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings, databaseId?: string): Firestore;

Parâmetros

Parâmetro Tipo Descrição
aplicativo Aplicativo Firebase O FirebaseApp ao qual a instância Firestore será associada.
configurações Configurações Um objeto de configurações para configurar a instância Firestore .
ID do banco de dados corda O nome do banco de dados.

Retorna:

Armazém de Fogo

Uma instância Firestore recém-inicializada.

coleção()

Obtém uma instância CollectionReference que se refere à coleção no caminho absoluto especificado.

Assinatura:

export declare function collection(firestore: Firestore, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Parâmetros

Parâmetro Tipo Descrição
firestore Armazém de Fogo Uma referência à instância raiz Firestore .
caminho corda Um caminho separado por barras para uma coleção.
pathSegmentos corda[] Segmentos de caminho adicionais a serem aplicados em relação ao primeiro argumento.

Retorna:

Referência de coleção < DocumentData , DadosDoDocumento >

A instância CollectionReference .

Exceções

Se o caminho final tiver um número par de segmentos e não apontar para uma coleção.

grupo de coleção()

Cria e retorna uma nova instância Query que inclui todos os documentos do banco de dados contidos em uma coleção ou subcoleção com o collectionId fornecido .

Assinatura:

export declare function collectionGroup(firestore: Firestore, collectionId: string): Query<DocumentData, DocumentData>;

Parâmetros

Parâmetro Tipo Descrição
firestore Armazém de Fogo Uma referência à instância raiz Firestore .
ID da coleção corda Identifica as coleções a serem consultadas. Cada coleção ou subcoleção com este ID como último segmento de seu caminho será incluída. Não pode conter uma barra.

Retorna:

Consulta < DocumentData , DadosDoDocumento >

A Query criada .

conectarFirestoreEmulator()

Modify this instance to communicate with the Cloud Firestore emulator.

Signature:

export declare function connectFirestoreEmulator(firestore: Firestore, host: string, port: number, options?: {
    mockUserToken?: EmulatorMockTokenOptions | string;
}): void;

Parameters

Parâmetro Tipo Descrição
firestore Firestore The Firestore instance to configure to connect to the emulator.
host corda the emulator host (ex: localhost).
port número the emulator port (ex: 9000).
options { mockUserToken?: EmulatorMockTokenOptions | string; }

Returns:

void

doc()

Gets a DocumentReference instance that refers to the document at the specified absolute path.

Signature:

export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

Parameters

Parâmetro Tipo Descrição
firestore Firestore A reference to the root Firestore instance.
path corda A slash-separated path to a document.
pathSegments string[] Additional path segments that will be applied relative to the first argument.

Returns:

DocumentReference < DocumentData , DocumentData >

The DocumentReference instance.

Exceptions

If the final path has an odd number of segments and does not point to a document.

runTransaction()

Executes the given updateFunction and then attempts to commit the changes applied within the transaction. If any document read within the transaction has changed, Cloud Firestore retries the updateFunction . If it fails to commit after 5 attempts, the transaction fails.

The maximum number of writes allowed in a single transaction is 500.

Signature:

export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;

Parameters

Parâmetro Tipo Descrição
firestore Firestore A reference to the Firestore database to run this transaction against.
updateFunction (transaction: Transaction ) => Promise<T> The function to execute within the transaction context.
options TransactionOptions An options object to configure maximum number of attempts to commit.

Returns:

Promise<T>

If the transaction completed successfully or was explicitly aborted (the updateFunction returned a failed promise), the promise returned by the updateFunction is returned here. Otherwise, if the transaction failed, a rejected promise with the corresponding failure error is returned.

terminate()

Terminates the provided Firestore instance.

After calling terminate() only the clearIndexedDbPersistence() functions may be used. Any other function will throw a FirestoreError . Termination does not cancel any pending writes, and any promises that are awaiting a response from the server will not be resolved.

To restart after termination, create a new instance of Firestore with getFirestore() .

Signature:

export declare function terminate(firestore: Firestore): Promise<void>;

Parameters

Parâmetro Tipo Descrição
firestore Firestore The Firestore instance to terminate.

Returns:

Promise<void>

A Promise that is resolved when the instance has been successfully terminated.

writeBatch()

Creates a write batch, used for performing multiple writes as a single atomic operation. The maximum number of writes allowed in a single WriteBatch is 500.

The result of these writes will only be reflected in document reads that occur after the returned promise resolves. If the client is offline, the write fails. If you would like to see local modifications or buffer writes until the client is online, use the full Firestore SDK.

Signature:

export declare function writeBatch(firestore: Firestore): WriteBatch;

Parameters

Parâmetro Tipo Descrição
firestore Firestore

Returns:

WriteBatch

A WriteBatch that can be used to atomically execute multiple writes.

count()

Create an AggregateField object that can be used to compute the count of documents in the result set of a query.

Signature:

export declare function count(): AggregateField<number>;

Returns:

AggregateField <number>

deleteField()

Returns a sentinel for use with updateDoc() or setDoc() with {merge: true} to mark a field for deletion.

Signature:

export declare function deleteField(): FieldValue;

Returns:

FieldValue

documentId()

Returns a special sentinel FieldPath to refer to the ID of a document. It can be used in queries to sort or filter by the document ID.

Signature:

export declare function documentId(): FieldPath;

Returns:

FieldPath

getFirestore()

Returns the existing default Firestore instance that is associated with the default FirebaseApp . If no instance exists, initializes a new instance with default settings.

Signature:

export declare function getFirestore(): Firestore;

Returns:

Firestore

The Firestore instance of the provided app.

serverTimestamp()

Returns a sentinel used with setDoc() or updateDoc() to include a server-generated timestamp in the written data.

Signature:

export declare function serverTimestamp(): FieldValue;

Returns:

FieldValue

getFirestore()

This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Returns the existing Firestore instance that is associated with the default FirebaseApp . If no instance exists, initializes a new instance with default settings.

Signature:

export declare function getFirestore(databaseId: string): Firestore;

Parameters

Parâmetro Tipo Descrição
databaseId corda The name of the database.

Returns:

Firestore

The Firestore instance of the provided app.

arrayRemove()

Returns a special value that can be used with setDoc() or that tells the server to remove the given elements from any array value that already exists on the server. All instances of each element specified will be removed from the array. If the field being modified is not already an array it will be overwritten with an empty array.

Signature:

export declare function arrayRemove(...elements: unknown[]): FieldValue;

Parameters

Parâmetro Tipo Descrição
elements unknown[] The elements to remove from the array.

Returns:

FieldValue

The FieldValue sentinel for use in a call to setDoc() or updateDoc()

arrayUnion()

Returns a special value that can be used with setDoc() or updateDoc() that tells the server to union the given elements with any array value that already exists on the server. Each specified element that doesn't already exist in the array will be added to the end. If the field being modified is not already an array it will be overwritten with an array containing exactly the specified elements.

Signature:

export declare function arrayUnion(...elements: unknown[]): FieldValue;

Parameters

Parâmetro Tipo Descrição
elements unknown[] The elements to union into the array.

Returns:

FieldValue

The FieldValue sentinel for use in a call to setDoc() or updateDoc() .

average()

Create an AggregateField object that can be used to compute the average of a specified field over a range of documents in the result set of a query.

Signature:

export declare function average(field: string | FieldPath): AggregateField<number | null>;

Parameters

Parâmetro Tipo Descrição
field string | FieldPath Specifies the field to average across the result set.

Returns:

AggregateField <number | null>

sum()

Create an AggregateField object that can be used to compute the sum of a specified field over a range of documents in the result set of a query.

Signature:

export declare function sum(field: string | FieldPath): AggregateField<number>;

Parameters

Parâmetro Tipo Descrição
field string | FieldPath Specifies the field to sum across the result set.

Returns:

AggregateField <number>

orderBy()

Creates a QueryOrderByConstraint that sorts the query result by the specified field, optionally in descending order instead of ascending.

Signature:

export declare function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;

Parameters

Parâmetro Tipo Descrição
fieldPath string | FieldPath The field to sort by.
directionStr OrderByDirection Optional direction to sort by ('asc' or 'desc'). If not specified, order will be ascending.

Returns:

QueryOrderByConstraint

The created QueryOrderByConstraint .

where()

Creates a QueryFieldFilterConstraint that enforces that documents must contain the specified field and that the value should satisfy the relation constraint provided.

Signature:

export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;

Parameters

Parâmetro Tipo Descrição
fieldPath string | FieldPath The path to compare
opStr WhereFilterOp The operation string (eg "&lt;", "&lt;=", "==", "&lt;", "&lt;=", "!=").
value unknown The value for comparison

Returns:

QueryFieldFilterConstraint

The created QueryFieldFilterConstraint .

endAt()

Creates a QueryEndAtConstraint that modifies the result set to end at the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Signature:

export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;

Parameters

Parâmetro Tipo Descrição
fieldValues unknown[] The field values to end this query at, in order of the query's order by.

Returns:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

endBefore()

Creates a QueryEndAtConstraint that modifies the result set to end before the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Signature:

export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;

Parameters

Parâmetro Tipo Descrição
fieldValues unknown[] The field values to end this query before, in order of the query's order by.

Returns:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

startAfter()

Creates a QueryStartAtConstraint that modifies the result set to start after the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Signature:

export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;

Parameters

Parâmetro Tipo Descrição
fieldValues unknown[] The field values to start this query after, in order of the query's order by.

Returns:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query()

startAt()

Creates a QueryStartAtConstraint that modifies the result set to start at the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Signature:

export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;

Parameters

Parâmetro Tipo Descrição
fieldValues unknown[] The field values to start this query at, in order of the query's order by.

Returns:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query() .

aggregateFieldEqual()

Compares two 'AggregateField ` instances for equality.

Signature:

export declare function aggregateFieldEqual(left: AggregateField<unknown>, right: AggregateField<unknown>): boolean;

Parameters

Parâmetro Tipo Descrição
left AggregateField <unknown> Compare this AggregateField to the right .
right AggregateField <unknown> Compare this AggregateField to the left .

Returns:

boleano

aggregateQuerySnapshotEqual()

Compares two AggregateQuerySnapshot instances for equality.

Two AggregateQuerySnapshot instances are considered "equal" if they have underlying queries that compare equal, and the same data.

Signature:

export declare function aggregateQuerySnapshotEqual<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(left: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>, right: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>): boolean;

Parameters

Parâmetro Tipo Descrição
left AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType> The first AggregateQuerySnapshot to compare.
right AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType> The second AggregateQuerySnapshot to compare.

Returns:

boleano

true if the objects are "equal", as defined above, or false otherwise.

queryEqual()

Returns true if the provided queries point to the same collection and apply the same constraints.

Signature:

export declare function queryEqual<AppModelType, DbModelType extends DocumentData>(left: Query<AppModelType, DbModelType>, right: Query<AppModelType, DbModelType>): boolean;

Parameters

Parâmetro Tipo Descrição
left Query <AppModelType, DbModelType> A Query to compare.
right Query <AppModelType, DbModelType> A Query to compare.

Returns:

boleano

true if the references point to the same location in the same Firestore database.

refEqual()

Returns true if the provided references are equal.

Signature:

export declare function refEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>, right: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>): boolean;

Parameters

Parâmetro Tipo Descrição
left DocumentReference <AppModelType, DbModelType> | CollectionReference <AppModelType, DbModelType> A reference to compare.
right DocumentReference <AppModelType, DbModelType> | CollectionReference <AppModelType, DbModelType> A reference to compare.

Returns:

boleano

true if the references point to the same location in the same Firestore database.

snapshotEqual()

Returns true if the provided snapshots are equal.

Signature:

export declare function snapshotEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>, right: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>): boolean;

Parameters

Parâmetro Tipo Descrição
left DocumentSnapshot <AppModelType, DbModelType> | QuerySnapshot <AppModelType, DbModelType> A snapshot to compare.
right DocumentSnapshot <AppModelType, DbModelType> | QuerySnapshot <AppModelType, DbModelType> A snapshot to compare.

Returns:

boleano

true if the snapshots are equal.

limit()

Creates a QueryLimitConstraint that only returns the first matching documents.

Signature:

export declare function limit(limit: number): QueryLimitConstraint;

Parameters

Parâmetro Tipo Descrição
limit número The maximum number of items to return.

Returns:

QueryLimitConstraint

The created QueryLimitConstraint .

limitToLast()

Creates a QueryLimitConstraint that only returns the last matching documents.

You must specify at least one orderBy clause for limitToLast queries, otherwise an exception will be thrown during execution.

Signature:

export declare function limitToLast(limit: number): QueryLimitConstraint;

Parameters

Parâmetro Tipo Descrição
limit número The maximum number of items to return.

Returns:

QueryLimitConstraint

The created QueryLimitConstraint .

setLogLevel()

Sets the verbosity of Cloud Firestore logs (debug, error, or silent).

Signature:

export declare function setLogLevel(logLevel: LogLevel): void;

Parameters

Parâmetro Tipo Descrição
logLevel LogLevel The verbosity you set for activity and error logging. Can be any of the following values:
  • debug for the most verbose logging level, primarily for debugging.
  • error to log errors only.
  • silent to turn off logging.

Returns:

void

increment()

Returns a special value that can be used with setDoc() or updateDoc() that tells the server to increment the field's current value by the given value.

If either the operand or the current field value uses floating point precision, all arithmetic follows IEEE 754 semantics. If both values are integers, values outside of JavaScript's safe number range ( Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER ) are also subject to precision loss. Furthermore, once processed by the Firestore backend, all integer operations are capped between -2^63 and 2^63-1.

If the current field value is not of type number , or if the field does not yet exist, the transformation sets the field to the given value.

Signature:

export declare function increment(n: number): FieldValue;

Parameters

Parâmetro Tipo Descrição
n número The value to increment by.

Returns:

FieldValue

The FieldValue sentinel for use in a call to setDoc() or updateDoc()

getAggregate()

Calculates the specified aggregations over the documents in the result set of the given query, without actually downloading the documents.

Using this function to perform aggregations is efficient because only the final aggregation values, not the documents' data, are downloaded. This function can even perform aggregations of the documents if the result set would be prohibitively large to download entirely (eg thousands of documents).

Signature:

export declare function getAggregate<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, aggregateSpec: AggregateSpecType): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;

Parameters

Parâmetro Tipo Descrição
query Query <AppModelType, DbModelType> The query whose result set to aggregate over.
aggregateSpec AggregateSpecType An AggregateSpec object that specifies the aggregates to perform over the result set. The AggregateSpec specifies aliases for each aggregate, which can be used to retrieve the aggregate result.

Returns:

Promise< AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType>>

Example

const aggregateSnapshot = await getAggregate(query, {
  countOfDocs: count(),
  totalHours: sum('hours'),
  averageScore: average('score')
});

const countOfDocs: number = aggregateSnapshot.data().countOfDocs;
const totalHours: number = aggregateSnapshot.data().totalHours;
const averageScore: number | null = aggregateSnapshot.data().averageScore;

getCount()

Calculates the number of documents in the result set of the given query, without actually downloading the documents.

Using this function to count the documents is efficient because only the final count, not the documents' data, is downloaded. This function can even count the documents if the result set would be prohibitively large to download entirely (eg thousands of documents).

Signature:

export declare function getCount<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<AggregateQuerySnapshot<{
    count: AggregateField<number>;
}, AppModelType, DbModelType>>;

Parameters

Parâmetro Tipo Descrição
query Query <AppModelType, DbModelType> The query whose result set size to calculate.

Returns:

Promise< AggregateQuerySnapshot <{ count: AggregateField <number>; }, AppModelType, DbModelType>>

A Promise that will be resolved with the count; the count can be retrieved from snapshot.data().count , where snapshot is the AggregateQuerySnapshot to which the returned Promise resolves.

getDocs()

Executes the query and returns the results as a QuerySnapshot .

All queries are executed directly by the server, even if the the query was previously executed. Recent modifications are only reflected in the retrieved results if they have already been applied by the backend. If the client is offline, the operation fails. To see previously cached result and local modifications, use the full Firestore SDK.

Signature:

export declare function getDocs<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

Parameters

Parâmetro Tipo Descrição
query Query <AppModelType, DbModelType> The Query to execute.

Returns:

Promise< QuerySnapshot <AppModelType, DbModelType>>

A Promise that will be resolved with the results of the query.

query()

Creates a new immutable instance of Query that is extended to also include additional query constraints.

Signature:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<AppModelType, DbModelType>;

Parameters

Parâmetro Tipo Descrição
query Query <AppModelType, DbModelType> The Query instance to use as a base for the new constraints.
compositeFilter QueryCompositeFilterConstraint The QueryCompositeFilterConstraint to apply. Create QueryCompositeFilterConstraint using and() or or() .
queryConstraints QueryNonFilterConstraint [] Additional QueryNonFilterConstraint s to apply (eg orderBy() , limit() ).

Returns:

Query <AppModelType, DbModelType>

Exceptions

if any of the provided query constraints cannot be combined with the existing or new constraints.

query()

Creates a new immutable instance of Query that is extended to also include additional query constraints.

Signature:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, ...queryConstraints: QueryConstraint[]): Query<AppModelType, DbModelType>;

Parameters

Parâmetro Tipo Descrição
query Query <AppModelType, DbModelType> The Query instance to use as a base for the new constraints.
queryConstraints QueryConstraint [] The list of QueryConstraint s to apply.

Returns:

Query <AppModelType, DbModelType>

Exceptions

if any of the provided query constraints cannot be combined with the existing or new constraints.

and()

Creates a new QueryCompositeFilterConstraint that is a conjunction of the given filter constraints. A conjunction filter includes a document if it satisfies all of the given filters.

Signature:

export declare function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

Parameters

Parâmetro Tipo Descrição
queryConstraints QueryFilterConstraint [] Optional. The list of QueryFilterConstraint s to perform a conjunction for. These must be created with calls to where() , or() , or and() .

Returns:

QueryCompositeFilterConstraint

The newly created QueryCompositeFilterConstraint .

or()

Creates a new QueryCompositeFilterConstraint that is a disjunction of the given filter constraints. A disjunction filter includes a document if it satisfies any of the given filters.

Signature:

export declare function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

Parameters

Parâmetro Tipo Descrição
queryConstraints QueryFilterConstraint [] Optional. The list of QueryFilterConstraint s to perform a disjunction for. These must be created with calls to where() , or() , or and() .

Returns:

QueryCompositeFilterConstraint

The newly created QueryCompositeFilterConstraint .

addDoc()

Add a new document to specified CollectionReference with the given data, assigning it a document ID automatically.

The result of this write will only be reflected in document reads that occur after the returned promise resolves. If the client is offline, the write fails. If you would like to see local modifications or buffer writes until the client is online, use the full Firestore SDK.

Signature:

export declare function addDoc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<DocumentReference<AppModelType, DbModelType>>;

Parameters

Parâmetro Tipo Descrição
reference CollectionReference <AppModelType, DbModelType> A reference to the collection to add this document to.
data WithFieldValue <AppModelType> An Object containing the data for the new document.

Returns:

Promise< DocumentReference <AppModelType, DbModelType>>

A Promise resolved with a DocumentReference pointing to the newly created document after it has been written to the backend.

Exceptions

Error - If the provided input is not a valid Firestore document.

collection()

Gets a CollectionReference instance that refers to a subcollection of reference at the the specified relative path.

Signature:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Parameters

Parâmetro Tipo Descrição
reference CollectionReference <AppModelType, DbModelType> A reference to a collection.
path corda A slash-separated path to a collection.
pathSegments string[] Additional path segments to apply relative to the first argument.

Returns:

CollectionReference < DocumentData , DocumentData >

The CollectionReference instance.

Exceptions

If the final path has an even number of segments and does not point to a collection.

collection()

Gets a CollectionReference instance that refers to a subcollection of reference at the the specified relative path.

Signature:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Parameters

Parâmetro Tipo Descrição
reference DocumentReference <AppModelType, DbModelType> A reference to a Firestore document.
path corda A slash-separated path to a collection.
pathSegments string[] Additional path segments that will be applied relative to the first argument.

Returns:

CollectionReference < DocumentData , DocumentData >

The CollectionReference instance.

Exceptions

If the final path has an even number of segments and does not point to a collection.

deleteDoc()

Deletes the document referred to by the specified DocumentReference .

The deletion will only be reflected in document reads that occur after the returned promise resolves. If the client is offline, the delete fails. If you would like to see local modifications or buffer writes until the client is online, use the full Firestore SDK.

Signature:

export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;

Parameters

Parâmetro Tipo Descrição
reference DocumentReference <AppModelType, DbModelType> A reference to the document to delete.

Returns:

Promise<void>

A Promise resolved once the document has been successfully deleted from the backend.

doc()

Gets a DocumentReference instance that refers to a document within reference at the specified relative path. If no path is specified, an automatically-generated unique ID will be used for the returned DocumentReference .

Signature:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path?: string, ...pathSegments: string[]): DocumentReference<AppModelType, DbModelType>;

Parameters

Parâmetro Tipo Descrição
reference CollectionReference <AppModelType, DbModelType> A reference to a collection.
path corda A slash-separated path to a document. Has to be omitted to use auto-genrated IDs.
pathSegments string[] Additional path segments that will be applied relative to the first argument.

Returns:

DocumentReference <AppModelType, DbModelType>

The DocumentReference instance.

Exceptions

If the final path has an odd number of segments and does not point to a document.

doc()

Gets a DocumentReference instance that refers to a document within reference at the specified relative path.

Signature:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

Parameters

Parâmetro Tipo Descrição
reference DocumentReference <AppModelType, DbModelType> A reference to a Firestore document.
path corda A slash-separated path to a document.
pathSegments string[] Additional path segments that will be applied relative to the first argument.

Returns:

DocumentReference < DocumentData , DocumentData >

The DocumentReference instance.

Exceptions

If the final path has an odd number of segments and does not point to a document.

getDoc()

Reads the document referred to by the specified document reference.

All documents are directly fetched from the server, even if the document was previously read or modified. Recent modifications are only reflected in the retrieved DocumentSnapshot if they have already been applied by the backend. If the client is offline, the read fails. If you like to use caching or see local modifications, please use the full Firestore SDK.

Signature:

export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

Parameters

Parâmetro Tipo Descrição
reference DocumentReference <AppModelType, DbModelType> The reference of the document to fetch.

Returns:

Promise< DocumentSnapshot <AppModelType, DbModelType>>

A Promise resolved with a DocumentSnapshot containing the current document contents.

setDoc()

Writes to the document referred to by the specified DocumentReference . If the document does not yet exist, it will be created.

The result of this write will only be reflected in document reads that occur after the returned promise resolves. If the client is offline, the write fails. If you would like to see local modifications or buffer writes until the client is online, use the full Firestore SDK.

Signature:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<void>;

Parameters

Parâmetro Tipo Descrição
reference DocumentReference <AppModelType, DbModelType> A reference to the document to write.
data WithFieldValue <AppModelType> A map of the fields and values for the document.

Returns:

Promise<void>

A Promise resolved once the data has been successfully written to the backend.

Exceptions

Error - If the provided input is not a valid Firestore document.

setDoc()

Writes to the document referred to by the specified DocumentReference . If the document does not yet exist, it will be created. If you provide merge or mergeFields , the provided data can be merged into an existing document.

The result of this write will only be reflected in document reads that occur after the returned promise resolves. If the client is offline, the write fails. If you would like to see local modifications or buffer writes until the client is online, use the full Firestore SDK.

Signature:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): Promise<void>;

Parameters

Parâmetro Tipo Descrição
reference DocumentReference <AppModelType, DbModelType> A reference to the document to write.
data PartialWithFieldValue <AppModelType> A map of the fields and values for the document.
options SetOptions An object to configure the set behavior.

Returns:

Promise<void>

A Promise resolved once the data has been successfully written to the backend.

Exceptions

Error - If the provided input is not a valid Firestore document.

updateDoc()

Updates fields in the document referred to by the specified DocumentReference . The update will fail if applied to a document that does not exist.

The result of this update will only be reflected in document reads that occur after the returned promise resolves. If the client is offline, the update fails. If you would like to see local modifications or buffer writes until the client is online, use the full Firestore SDK.

Signature:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): Promise<void>;

Parameters

Parâmetro Tipo Descrição
reference DocumentReference <AppModelType, DbModelType> A reference to the document to update.
data UpdateData <DbModelType> An object containing the fields and values with which to update the document. Fields can contain dots to reference nested fields within the document.

Returns:

Promise<void>

A Promise resolved once the data has been successfully written to the backend.

Exceptions

Error - If the provided input is not valid Firestore data.

updateDoc()

Updates fields in the document referred to by the specified DocumentReference The update will fail if applied to a document that does not exist.

Nested fields can be updated by providing dot-separated field path strings or by providing FieldPath objects.

The result of this update will only be reflected in document reads that occur after the returned promise resolves. If the client is offline, the update fails. If you would like to see local modifications or buffer writes until the client is online, use the full Firestore SDK.

Signature:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise<void>;

Parameters

Parâmetro Tipo Descrição
reference DocumentReference <AppModelType, DbModelType> A reference to the document to update.
field string | FieldPath The first field to update.
value unknown The first value.
moreFieldsAndValues unknown[] Additional key value pairs.

Returns:

Promise<void>

A Promise resolved once the data has been successfully written to the backend.

Exceptions

Error - If the provided input is not valid Firestore data.

endAt()

Creates a QueryEndAtConstraint that modifies the result set to end at the provided document (inclusive). The end position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of the query.

Signature:

export declare function endAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

Parameters

Parâmetro Tipo Descrição
snapshot DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to end at.

Returns:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

endBefore()

Creates a QueryEndAtConstraint that modifies the result set to end before the provided document (exclusive). The end position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of the query.

Signature:

export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

Parameters

Parâmetro Tipo Descrição
snapshot DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to end before.

Returns:

QueryEndAtConstraint

A QueryEndAtConstraint to pass to query()

startAfter()

Creates a QueryStartAtConstraint that modifies the result set to start after the provided document (exclusive). The starting position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of the query.

Signature:

export declare function startAfter<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

Parameters

Parâmetro Tipo Descrição
snapshot DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to start after.

Returns:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query()

startAt()

Creates a QueryStartAtConstraint that modifies the result set to start at the provided document (inclusive). The starting position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of this query.

Signature:

export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

Parameters

Parâmetro Tipo Descrição
snapshot DocumentSnapshot <AppModelType, DbModelType> The snapshot of the document to start at.

Returns:

QueryStartAtConstraint

A QueryStartAtConstraint to pass to query() .

AddPrefixToKeys

Returns a new map where every key is prefixed with the outer key appended to a dot.

Signature:

export declare type AddPrefixToKeys<Prefix extends string, T extends Record<string, unknown>> = {
    [K in keyof T & string as `${Prefix}.${K}`]+?: string extends K ? any : T[K];
};

AggregateFieldType

The union of all AggregateField types that are supported by Firestore.

Signature:

export declare type AggregateFieldType = ReturnType<typeof sum> | ReturnType<typeof average> | ReturnType<typeof count>;

AggregateSpecData

A type whose keys are taken from an AggregateSpec , and whose values are the result of the aggregation performed by the corresponding AggregateField from the input AggregateSpec .

Signature:

export declare type AggregateSpecData<T extends AggregateSpec> = {
    [P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
};

AggregateType

Union type representing the aggregate type to be performed.

Signature:

export declare type AggregateType = 'count' | 'avg' | 'sum';

ChildUpdateFields

Helper for calculating the nested fields for a given type T1. This is needed to distribute union types such as undefined | {...} (happens for optional props) or {a: A} | {b: B} .

In this use case, V is used to distribute the union types of T[K] on Record , since T[K] is evaluated as an expression and not distributed.

See https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types

Signature:

export declare type ChildUpdateFields<K extends string, V> = V extends Record<string, unknown> ? AddPrefixToKeys<K, UpdateData<V>> : never;

FirestoreErrorCode

The set of Firestore status codes. The codes are the same at the ones exposed by gRPC here: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

Possible values: - 'cancelled': The operation was cancelled (typically by the caller). - 'unknown': Unknown error or an error from a different error domain. - 'invalid-argument': Client specified an invalid argument. Note that this differs from 'failed-precondition'. 'invalid-argument' indicates arguments that are problematic regardless of the state of the system (eg an invalid field name). - 'deadline-exceeded': Deadline expired before operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. - 'not-found': Some requested document was not found. - 'already-exists': Some document that we attempted to create already exists. - 'permission-denied': The caller does not have permission to execute the specified operation. - 'resource-exhausted': Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. - 'failed-precondition': Operation was rejected because the system is not in a state required for the operation's execution. - 'aborted': The operation was aborted, typically due to a concurrency issue like transaction aborts, etc. - 'out-of-range': Operation was attempted past the valid range. - 'unimplemented': Operation is not implemented or not supported/enabled. - 'internal': Internal errors. Means some invariants expected by underlying system has been broken. If you see one of these errors, something is very broken. - 'unavailable': The service is currently unavailable. This is most likely a transient condition and may be corrected by retrying with a backoff. - 'data-loss': Unrecoverable data loss or corruption. - 'unauthenticated': The request does not have valid authentication credentials for the operation.

Signature:

export declare type FirestoreErrorCode = 'cancelled' | 'unknown' | 'invalid-argument' | 'deadline-exceeded' | 'not-found' | 'already-exists' | 'permission-denied' | 'resource-exhausted' | 'failed-precondition' | 'aborted' | 'out-of-range' | 'unimplemented' | 'internal' | 'unavailable' | 'data-loss' | 'unauthenticated';

NestedUpdateFields

For each field (eg 'bar'), find all nested keys (eg { 'bar.baz': T1, 'bar.qux': T2 } ). Intersect them together to make a single map containing all possible keys that are all marked as optional

Signature:

export declare type NestedUpdateFields<T extends Record<string, unknown>> = UnionToIntersection<{
    [K in keyof T & string]: ChildUpdateFields<K, T[K]>;
}[keyof T & string]>;

OrderByDirection

The direction of a orderBy() clause is specified as 'desc' or 'asc' (descending or ascending).

Signature:

export declare type OrderByDirection = 'desc' | 'asc';

PartialWithFieldValue

Similar to Typescript's Partial<T> , but allows nested fields to be omitted and FieldValues to be passed in as property values.

Signature:

export declare type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
} : never);

Primitive

Primitive types.

Signature:

export declare type Primitive = string | number | boolean | undefined | null;

QueryConstraintType

Describes the different query constraints available in this SDK.

Signature:

export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';

QueryFilterConstraint

QueryFilterConstraint is a helper union type that represents QueryFieldFilterConstraint and QueryCompositeFilterConstraint .

Signature:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

QueryNonFilterConstraint

QueryNonFilterConstraint is a helper union type that represents QueryConstraints which are used to narrow or order the set of documents, but that do not explicitly filter on a document field. QueryNonFilterConstraint s are created by invoking orderBy() , startAt() , startAfter() , endBefore() , endAt() , limit() or limitToLast() and can then be passed to query() to create a new query instance that also contains the QueryConstraint .

Signature:

export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;

SetOptions

An options object that configures the behavior of setDoc() , and calls. These calls can be configured to perform granular merges instead of overwriting the target documents in their entirety by providing a SetOptions with merge: true .

Signature:

export declare type SetOptions = {
    readonly merge?: boolean;
} | {
    readonly mergeFields?: Array<string | FieldPath>;
};

UnionToIntersection

Given a union type U = T1 | T2 | ... , returns an intersected type (T1 & T2 & ...) .

Uses distributive conditional types and inference from conditional types. This works because multiple candidates for the same type variable in contra-variant positions causes an intersection type to be inferred. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection-type

Signature:

export declare type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;

UpdateData

Update data (for use with updateDoc() ) that consists of field paths (eg 'foo' or 'foo.baz') mapped to values. Fields that contain dots reference nested fields within the document. FieldValues can be passed in as property values.

Signature:

export declare type UpdateData<T> = T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: UpdateData<T[K]> | FieldValue;
} & NestedUpdateFields<T> : Partial<T>;

WhereFilterOp

Filter conditions in a where() clause are specified using the strings '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains', 'in', 'array-contains-any', and 'not-in'.

Signature:

export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';

WithFieldValue

Allows FieldValues to be passed in as a property value while maintaining type safety.

Signature:

export declare type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]: WithFieldValue<T[K]> | FieldValue;
} : never);