@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, banco de dadosId) (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(firestore, ...)
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(nívellog, ...)
setLogLevel(logLevel) Define o detalhamento dos logs do Cloud Firestore (depuração, erro ou silêncio).
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 nos documentos no conjunto de resultados de determinada consulta 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 realizar agregações de documentos nos casos em que o conjunto de resultados é proibitivamente grande para download completo (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 contar os documentos nos casos em que o conjunto de resultados é proibitivamente grande para download completo (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 da 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 campo (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() , ordenar por() , Começa ás() , começarDepois() , fimAntes() , termina em() , 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. Neste contexto, um "AppModel" é uma classe usada em um aplicativo para empacotar informações e funcionalidades relacionadas. Essa classe poderia, por exemplo, ter propriedades com tipos de dados complexos e aninhados, propriedades usadas para memorização, propriedades de tipos não suportados pelo Firestore (como symbol e bigint ) e funções auxiliares que executam operações compostas. Essas classes não são adequadas e/ou possíveis de serem armazenadas em um banco de dados Firestore. Em vez disso, as instâncias de tais classes precisam ser convertidas em "objetos JavaScript simples e antigos" (POJOs) com propriedades exclusivamente primitivas, potencialmente aninhadas dentro de outros POJOs ou matrizes de POJOs. Nesse contexto, esse tipo é conhecido como "DbModel" e seria um objeto adequado para persistir no Firestore. Por conveniência, os aplicativos podem implementar FirestoreDataConverter e registrar o conversor com objetos Firestore, como DocumentReference ou Query , para converter automaticamente AppModel em DbModel ao armazenar no Firestore e converter DbModel em AppModel ao recuperar 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() , Começa ás() , começarDepois() , fimAntes() , termina em() , 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ãoToIntersecçã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 ​​sejam passados ​​como um valor de propriedade, mantendo a segurança do tipo.

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.

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(aplicativo, banco de dadosId)

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

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.

inicializeFirestore(aplicativo, configurações, ID do banco de dados)

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.

função(firestore, ...)

coleção(firestore, caminho, pathSegments)

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(firestore,coleçãoId)

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 .

connectFirestoreEmulator(firestore, host, porta, opções)

Modifique esta instância para se comunicar com o emulador do Cloud Firestore.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
firestore Armazém de Fogo A instância Firestore a ser configurada para se conectar ao emulador.
hospedar corda o host do emulador (ex: localhost).
porta número a porta do emulador (ex: 9000).
opções { mockUserToken?: EmulatorMockTokenOptions | corda; }

Retorna:

vazio

doc(firestore, caminho, pathSegments)

Obtém uma instância DocumentReference que se refere ao documento no caminho absoluto especificado.

Assinatura:

export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<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 um documento.
pathSegmentos corda[] Segmentos de caminho adicionais que serão aplicados em relação ao primeiro argumento.

Retorna:

Referência de Documento < DocumentData , DadosDoDocumento >

A instância DocumentReference .

Exceções

Se o caminho final tiver um número ímpar de segmentos e não apontar para um documento.

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 o 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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
firestore Armazém de Fogo Uma referência ao banco de dados do Firestore para executar esta transação.
função de atualização (transação: transação ) => Promessa<T> A função a ser executada no contexto da transação.
opções Opções de transação Um objeto de opções para configurar o número máximo de tentativas de confirmação.

Retorna:

Promessa<T>

Se a transação foi concluída com sucesso ou foi explicitamente abortada (o updateFunction retornou uma promessa falhada), a promessa retornada pelo updateFunction é retornado aqui. Caso contrário, se a transação falhar, uma promessa rejeitada com o erro de falha correspondente será retornada.

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

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
firestore Armazém de Fogo A instância Firestore a ser encerrada.

Retorna:

Promessa<void>

Uma Promise que é resolvida quando a instância é encerrada com êxito.

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
firestore Armazém de Fogo

Retorna:

WriteBatch

Um WriteBatch que pode ser usado para executar atomicamente várias gravações.

função()

contar()

Crie um objeto AggregateField que possa ser usado para calcular a contagem de documentos no conjunto de resultados de uma consulta.

Assinatura:

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

Retorna:

CampoAgregado <número>

deleteField()

Retorna uma sentinela para uso com updateDoc() ou setDoc() com {merge: true} para marcar um campo para exclusão.

Assinatura:

export declare function deleteField(): FieldValue;

Retorna:

CampoValor

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.

Assinatura:

export declare function documentId(): FieldPath;

Retorna:

CampoCaminho

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.

Assinatura:

export declare function getFirestore(): Firestore;

Retorna:

Armazém de Fogo

A instância do Firestore do aplicativo fornecido.

servidorTimestamp()

Retorna um sentinela usado com setDoc() ou updateDoc() para incluir um carimbo de data/hora gerado pelo servidor nos dados gravados.

Assinatura:

export declare function serverTimestamp(): FieldValue;

Retorna:

CampoValor

função(databaseId, ...)

getFirestore(databaseId)

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 padrão . Se não existir nenhuma instância, inicializa uma nova instância com configurações padrão.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
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.

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
elementos desconhecido[] Os elementos a serem removidos da matriz.

Retorna:

CampoValor

O sentinela FieldValue para uso em uma chamada para setDoc() ou updateDoc()

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
elementos desconhecido[] Os elementos a serem unidos na matriz.

Retorna:

CampoValor

O sentinela FieldValue para uso em uma chamada para setDoc() ou updateDoc() .

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
campo corda | CampoCaminho Especifica o campo para média no conjunto de resultados.

Retorna:

CampoAgregado <número | nulo>

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
campo corda | CampoCaminho Especifica o campo a ser somado no conjunto de resultados.

Retorna:

CampoAgregado <número>

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
campoCaminho corda | CampoCaminho O campo pelo qual classificar.
direçãoStr Pedido por direção Direção opcional para classificar ('asc' ou 'desc'). Se não for especificado, a ordem será crescente.

Retorna:

QueryOrderByConstraint

O QueryOrderByConstraint criado .

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
campoCaminho corda | CampoCaminho O caminho para comparar
OpStr OndeFiltroOp A string de operação (por exemplo, "&lt;", "&lt;=", "==", "&lt;", "&lt;=", "!=").
valor desconhecido O valor para comparação

Retorna:

QueryFieldFilterConstraint

O QueryFieldFilterConstraint criado .

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
valores de campo desconhecido[] Os valores do campo para finalizar esta consulta, na ordem da consulta.

Retorna:

QueryEndAtConstraint

Um QueryEndAtConstraint para passar para query()

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
valores de campo desconhecido[] Os valores do campo para finalizar esta consulta antes, na ordem da consulta.

Retorna:

QueryEndAtConstraint

Um QueryEndAtConstraint para passar para query()

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
valores de campo desconhecido[] Os valores dos campos para iniciar esta consulta depois, na ordem da consulta.

Retorna:

QueryStartAtConstraint

Um QueryStartAtConstraint para passar para query()

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
valores de campo desconhecido[] Os valores dos campos para iniciar esta consulta, na ordem da consulta.

Retorna:

QueryStartAtConstraint

Um QueryStartAtConstraint para passar para query() .

função(esquerda, ...)

agregadoFieldEqual(esquerda, direita)

Compara dois 'AggregateField ` instâncias para a igualdade.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
esquerda CampoAgregado <desconhecido> Compare este AggregateField à right .
certo CampoAgregado <desconhecido> Compare este AggregateField à left .

Retorna:

boleano

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
esquerda AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType> O primeiro AggregateQuerySnapshot a ser comparado.
certo AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType> O segundo AggregateQuerySnapshot a ser comparado.

Retorna:

boleano

true se os objetos forem "iguais", conforme definido acima, ou false caso contrário.

queryEqual(esquerda, direita)

Retornará verdadeiro se as consultas fornecidas apontarem para a mesma coleção e aplicarem as mesmas restrições.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
esquerda Consulta <AppModelType, DbModelType> Uma Query para comparar.
certo Consulta <AppModelType, DbModelType> Uma Query para comparar.

Retorna:

boleano

true se as referências apontarem para o mesmo local no mesmo banco de dados do Firestore.

refEqual(esquerda, direita)

Retorna verdadeiro se as referências fornecidas forem iguais.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
esquerda Referência de Documento <AppModelType, DbModelType> | Referência de coleção <AppModelType, DbModelType> Uma referência para comparar.
certo Referência de Documento <AppModelType, DbModelType> | Referência de coleção <AppModelType, DbModelType> Uma referência para comparar.

Retorna:

boleano

true se as referências apontarem para o mesmo local no mesmo banco de dados do Firestore.

snapshotEqual(esquerda, direita)

Retornará verdadeiro se os instantâneos fornecidos forem iguais.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
esquerda Instantâneo do documento <AppModelType, DbModelType> | Consulta Instantâneo <AppModelType, DbModelType> Um instantâneo para comparar.
certo Instantâneo do documento <AppModelType, DbModelType> | Consulta Instantâneo <AppModelType, DbModelType> Um instantâneo para comparar.

Retorna:

boleano

true se os instantâneos forem iguais.

função(limite, ...)

limite(limite)

Cria um QueryLimitConstraint que retorna apenas os primeiros documentos correspondentes.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
limite número O número máximo de itens a serem devolvidos.

Retorna:

QueryLimitConstraint

O QueryLimitConstraint criado .

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
limite número O número máximo de itens a serem devolvidos.

Retorna:

QueryLimitConstraint

O QueryLimitConstraint criado .

função(nívellog, ...)

setLogLevel(logLevel)

Define o detalhamento dos logs do Cloud Firestore (depuração, erro ou silêncio).

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
nível de registro Nível de registro O detalhamento que você definiu para registro de atividades e erros. Pode ser qualquer um dos seguintes valores:
  • debug para o nível de registro mais detalhado, principalmente para depuração.
  • error para registrar apenas erros.
  • silent to turn off logging.

Retorna:

vazio

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, valores fora do intervalo de números seguros do JavaScript ( Number.MIN_SAFE_INTEGER a Number.MAX_SAFE_INTEGER ) também estã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 especificado.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
n número O valor pelo qual incrementar.

Retorna:

CampoValor

O sentinela FieldValue para uso em uma chamada para setDoc() ou updateDoc()

função(consulta, ...)

getAggregate(consulta, agregaçãoSpec)

Calcula as agregações especificadas nos documentos no conjunto de resultados de determinada consulta 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 realizar agregações de documentos nos casos em que o conjunto de resultados é proibitivamente grande para download completo (milhares de documentos).

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
consulta Consulta <AppModelType, DbModelType> A consulta cujo conjunto de resultados é agregado.
agregadaSpec AggregateSpecType Um objeto AggregateSpec que especifica as agregações a serem executadas no conjunto de resultados. O AggregateSpec especifica aliases para cada agregação, que podem ser usados ​​para recuperar o resultado agregado.

Retorna:

Promessa< AggregateQuerySnapshot <AggregateSpecType, AppModelType, DbModelType>>

Exemplo

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(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 contar os documentos nos casos em que o conjunto de resultados é proibitivamente grande para download completo (milhares de documentos).

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
consulta Consulta <AppModelType, DbModelType> A consulta cujo tamanho do conjunto de resultados é calculado.

Retorna:

Promessa< AggregateQuerySnapshot <{ contagem: AggregateField <número>; }, AppModelType, DbModelType>>

Uma Promessa que será resolvida com a contagem; a contagem pode ser recuperada de snapshot.data().count , onde snapshot é o AggregateQuerySnapshot para o qual o Promise retornado é resolvido.

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
consulta Consulta <AppModelType, DbModelType> A Query a ser executada.

Retorna:

Promessa< QuerySnapshot <AppModelType, DbModelType>>

Uma promessa que será resolvida com os resultados da consulta.

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
consulta Consulta <AppModelType, DbModelType> A instância de consulta a ser usada como base para as novas restrições.
filtro composto QueryCompositeFilterConstraint O QueryCompositeFilterConstraint a ser aplicado. Crie QueryCompositeFilterConstraint usando and() ou or() .
queryConstraints QueryNonFilterConstraint [] QueryNonFilterConstraint Adicional s para aplicar (por exemplo, orderBy() , limite() ).

Retorna:

Consulta <AppModelType, DbModelType>

Exceções

se alguma das restrições de consulta fornecidas não puder ser combinada com as restrições existentes ou novas.

consulta(consulta, queryConstraints)

Cria uma nova instância imutável de Query que é estendida para incluir também restrições de consulta adicionais.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
consulta Consulta <AppModelType, DbModelType> A instância de consulta a ser usada como base para as novas restrições.
queryConstraints QueryConstraint [] A lista de QueryConstraint s para aplicar.

Retorna:

Consulta <AppModelType, DbModelType>

Exceções

se alguma das restrições de consulta fornecidas não puder ser combinada com as restrições existentes ou novas.

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
queryConstraints QueryFilterConstraint [] Opcional. A lista de QueryFilterConstraint s para realizar uma conjunção. Eles devem ser criados com chamadas para where() , ou() , ou e() .

Retorna:

QueryCompositeFilterConstraint

O QueryCompositeFilterConstraint recém-criado .

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
queryConstraints QueryFilterConstraint [] Opcional. A lista de QueryFilterConstraint s para realizar uma disjunção. Eles devem ser criados com chamadas para where() , ou() , ou e() .

Retorna:

QueryCompositeFilterConstraint

O QueryCompositeFilterConstraint recém-criado .

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de coleção <AppModelType, DbModelType> Uma referência à coleção à qual adicionar este documento.
dados ComFieldValue <AppModelType> Um Objeto que contém os dados do novo documento.

Retorna:

Promessa< DocumentReference <AppModelType, DbModelType>>

Uma Promise resolvida com um DocumentReference apontando para o documento recém-criado após ele ter sido gravado no back-end.

Exceções

Erro – se a entrada fornecida não for um documento válido 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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de coleção <AppModelType, DbModelType> Uma referência a uma coleção.
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.

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de Documento <AppModelType, DbModelType> Uma referência a um documento do Firestore.
caminho corda Um caminho separado por barras para uma coleção.
pathSegmentos corda[] Segmentos de caminho adicionais que serão 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.

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de Documento <AppModelType, DbModelType> Uma referência ao documento a ser excluído.

Retorna:

Promessa<void>

Uma Promise resolvida assim que o documento for excluído com sucesso do back-end.

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 .

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de coleção <AppModelType, DbModelType> Uma referência a uma coleção.
caminho corda Um caminho separado por barras para um documento. Deve ser omitido para usar IDs gerados automaticamente.
pathSegmentos corda[] Segmentos de caminho adicionais que serão aplicados em relação ao primeiro argumento.

Retorna:

Referência de Documento <AppModelType, DbModelType>

A instância DocumentReference .

Exceções

Se o caminho final tiver um número ímpar de segmentos e não apontar para um documento.

doc(referência, caminho, pathSegments)

Obtém uma instância DocumentReference que se refere a um documento dentro da reference no caminho relativo especificado.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de Documento <AppModelType, DbModelType> Uma referência a um documento do Firestore.
caminho corda Um caminho separado por barras para um documento.
pathSegmentos corda[] Segmentos de caminho adicionais que serão aplicados em relação ao primeiro argumento.

Retorna:

Referência de Documento < DocumentData , DadosDoDocumento >

A instância DocumentReference .

Exceções

Se o caminho final tiver um número ímpar de segmentos e não apontar para um documento.

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de Documento <AppModelType, DbModelType> A referência do documento a ser buscado.

Retorna:

Promessa< DocumentSnapshot <AppModelType, DbModelType>>

Uma promessa resolvida com um DocumentSnapshot contendo o conteúdo atual do documento.

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de Documento <AppModelType, DbModelType> Uma referência ao documento a ser escrito.
dados ComFieldValue <AppModelType> Um mapa dos campos e valores do documento.

Retorna:

Promessa<void>

Uma Promise resolvida assim que os dados forem gravados com sucesso no back-end.

Exceções

Erro – se a entrada fornecida não for um documento válido 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 podem 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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de Documento <AppModelType, DbModelType> Uma referência ao documento a ser escrito.
dados PartialWithFieldValue <AppModelType> Um mapa dos campos e valores do documento.
opções Definir opções Um objeto para configurar o comportamento definido.

Retorna:

Promessa<void>

Uma Promise resolvida assim que os dados forem gravados com sucesso no back-end.

Exceções

Erro – se a entrada fornecida não for um documento válido do Firestore.

updateDoc(referência, dados)

Atualiza 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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de Documento <AppModelType, DbModelType> Uma referência ao documento a ser atualizado.
dados Atualizar dados <DbModelType> Um objeto que contém os campos e valores com os quais atualizar o documento. Os campos podem conter pontos para fazer referência a campos aninhados no documento.

Retorna:

Promessa<void>

Uma Promise resolvida assim que os dados forem gravados com sucesso no back-end.

Exceções

Erro - se a entrada fornecida não for de dados válidos 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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
referência Referência de Documento <AppModelType, DbModelType> Uma referência ao documento a ser atualizado.
campo corda | CampoCaminho O primeiro campo a ser atualizado.
valor desconhecido O primeiro valor.
maisFieldsAndValues desconhecido[] Pares de valores-chave adicionais.

Retorna:

Promessa<void>

Uma Promise resolvida assim que os dados forem gravados com sucesso no back-end.

Exceções

Erro - se a entrada fornecida não for de dados válidos 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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
instantâneo Instantâneo do documento <AppModelType, DbModelType> O instantâneo do documento no qual terminar.

Retorna:

QueryEndAtConstraint

Um QueryEndAtConstraint para passar para query()

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
instantâneo Instantâneo do documento <AppModelType, DbModelType> O instantâneo do documento que terminará antes.

Retorna:

QueryEndAtConstraint

Um QueryEndAtConstraint para passar para query()

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
instantâneo Instantâneo do documento <AppModelType, DbModelType> O instantâneo do documento a ser iniciado depois.

Retorna:

QueryStartAtConstraint

Um QueryStartAtConstraint para passar para query()

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.

Assinatura:

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

Parâmetros

Parâmetro Tipo Descrição
instantâneo Instantâneo do documento <AppModelType, DbModelType> O instantâneo do documento para começar.

Retorna:

QueryStartAtConstraint

Um QueryStartAtConstraint para passar para query() .

AdicionarPrefixToKeys

Retorna um novo mapa onde cada chave é prefixada com a chave externa anexada a um ponto.

Assinatura:

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

A união de todos os tipos AggregateField compatíveis com o Firestore.

Assinatura:

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

AggregateSpecData

Um tipo cujas chaves são obtidas de um AggregateSpec , e cujos valores são o resultado da agregação realizada pelo AggregateField correspondente da entrada AggregateSpec .

Assinatura:

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

AggregateType

Tipo de união que representa o tipo de agregação a ser executada.

Assinatura:

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

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] no Record , já 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

Assinatura:

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

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.

Assinatura:

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

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

Assinatura:

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

Pedido por direção

A direção de uma cláusula orderBy() é especificada como 'desc' ou 'asc' (decrescente ou ascendente).

Assinatura:

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

PartialWithFieldValue

Semelhante ao Partial<T> do Typescript , mas permite que campos aninhados sejam omitidos e FieldValues ​​sejam passados ​​como valores de propriedade.

Assinatura:

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

Primitivo

Tipos primitivos.

Assinatura:

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

QueryConstraintType

Descreve as diferentes restrições de consulta disponíveis neste SDK.

Assinatura:

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

QueryFilterConstraint

QueryFilterConstraint é um tipo de união auxiliar que representa QueryFieldFilterConstraint e QueryCompositeFilterConstraint .

Assinatura:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | 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() , Começa ás() , começarDepois() , fimAntes() , termina em() , 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 .

Assinatura:

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

Definir opções

Um objeto de opções que configura o comportamento de setDoc() e chamadas. Essas chamadas podem ser configuradas para realizar mesclagens granulares em vez de substituir os documentos de destino em sua totalidade, fornecendo um SetOptions com merge: true .

Assinatura:

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

UniãoToIntersecçã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

Assinatura:

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

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.

Assinatura:

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

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'.

Assinatura:

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

ComFieldValue

Permite que FieldValues ​​sejam passados ​​como um valor de propriedade, mantendo a segurança do tipo.

Assinatura:

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