@firebase/firestore/lite

Funciones

Función Descripción
función (aplicación, ...)
getFirestore (aplicación) Devuelve la instancia predeterminada existente de Firestore que está asociada con la FirebaseApp proporcionada. . Si no existe ninguna instancia, inicializa una nueva instancia con la configuración predeterminada.
getFirestore(aplicación, ID de base de datos) (BETA) Devuelve la instancia de Firestore existente que está asociada con la FirebaseApp proporcionada . Si no existe ninguna instancia, inicializa una nueva instancia con la configuración predeterminada.
inicializarFirestore(aplicación, configuración) Inicializa una nueva instancia de Cloud Firestore con la configuración proporcionada. Solo se puede llamar antes que cualquier otra función, incluida getFirestore() . Si la configuración personalizada está vacía, esta función equivale a llamar a getFirestore() .
inicializarFirestore(aplicación, configuración, ID de base de datos) (BETA) Inicializa una nueva instancia de Cloud Firestore con la configuración proporcionada. Solo se puede llamar antes que cualquier otra función, incluida getFirestore() . Si la configuración personalizada está vacía, esta función equivale a llamar a getFirestore() .
función(firestore, ...)
colección (firestore, ruta, segmentos de ruta) Obtiene una instancia CollectionReference que hace referencia a la colección en la ruta absoluta especificada.
grupo de colección (firestore, ID de colección) Crea y devuelve una nueva instancia Query que incluye todos los documentos de la base de datos que están contenidos en una colección o subcolección con el collectionId dado.
connectFirestoreEmulator(firestore, host, puerto, opciones) Modifique esta instancia para comunicarse con el emulador de Cloud Firestore. Nota: Esto debe llamarse antes de que esta instancia se haya utilizado para realizar cualquier operación.
doc(firestore, ruta, segmentos de ruta) Obtiene una instancia DocumentReference que hace referencia al documento en la ruta absoluta especificada.
runTransaction(firestore, updateFunction, opciones) Ejecuta la updateFunction dada y luego intenta confirmar los cambios aplicados dentro de la transacción. Si algún documento leído dentro de la transacción ha cambiado, Cloud Firestore vuelve a intentar la updateFunction . Si no se confirma después de 5 intentos, la transacción falla. El número máximo de escrituras permitidas en una sola transacción es 500.
terminar (firestore) Termina la instancia Firestore proporcionada. Después de llamar terminate() solo se pueden utilizar las funciones clearIndexedDbPersistence() . Cualquier otra función arrojará un FirestoreError . La terminación no cancela ninguna escritura pendiente y ninguna promesa que esté esperando una respuesta del servidor no se resolverá. Para reiniciar después de la terminación, cree una nueva instancia de Firestore con getFirestore() . Nota: En circunstancias normales, no es necesario llamar terminate() . Esta función es útil solo cuando desea forzar que esta instancia libere todos sus recursos o en combinación con clearIndexedDbPersistence() para garantizar que todo el estado local se destruya entre ejecuciones de prueba.
escribir lote (firestore) Crea un lote de escritura, utilizado para realizar múltiples escrituras como una única operación atómica. El número máximo de escrituras permitidas en un único WriteBatch es 500. El resultado de estas escrituras solo se reflejará en las lecturas de documentos que se produzcan después de que se resuelva la promesa devuelta. Si el cliente está desconectado, la escritura falla. Si desea ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, use el SDK de Firestore completo.
función()
contar() Cree un objeto AggregateField que pueda usarse para calcular el recuento de documentos en el conjunto de resultados de una consulta.
eliminar campo() Devuelve un centinela para usar con updateDoc() o setDoc() con {merge: true} para marcar un campo para su eliminación.
documentoId() Devuelve un FieldPath centinela especial para hacer referencia al ID de un documento. Se puede utilizar en consultas para ordenar o filtrar por ID del documento.
obtenerFirestore() Devuelve la instancia de Firestore predeterminada existente que está asociada con la FirebaseApp predeterminada . Si no existe ninguna instancia, inicializa una nueva instancia con la configuración predeterminada.
marca de tiempo del servidor() Devuelve un centinela usado con setDoc() o updateDoc() para incluir una marca de tiempo generada por el servidor en los datos escritos.
función (ID de base de datos, ...)
getFirestore(ID de base de datos) (BETA) Devuelve la instancia de Firestore existente que está asociada con la FirebaseApp predeterminada . Si no existe ninguna instancia, inicializa una nueva instancia con la configuración predeterminada.
función(elementos,...)
matrizEliminar(elementos) Devuelve un valor especial que se puede usar con setDoc() o que le dice al servidor que elimine los elementos dados de cualquier valor de matriz que ya exista en el servidor. Todas las instancias de cada elemento especificado se eliminarán de la matriz. Si el campo que se está modificando aún no es una matriz, se sobrescribirá con una matriz vacía.
matrizUnión(elementos) Devuelve un valor especial que se puede utilizar con setDoc() o updateDoc() que le indica al servidor que una los elementos dados con cualquier valor de matriz que ya exista en el servidor. Cada elemento especificado que aún no exista en la matriz se agregará al final. Si el campo que se está modificando aún no es una matriz, se sobrescribirá con una matriz que contenga exactamente los elementos especificados.
función(campo, ...)
promedio (campo) Cree un objeto AggregateField que pueda usarse para calcular el promedio de un campo específico en un rango de documentos en el conjunto de resultados de una consulta.
suma (campo) Cree un objeto AggregateField que pueda usarse para calcular la suma de un campo específico en un rango de documentos en el conjunto de resultados de una consulta.
función (ruta del campo, ...)
ordenar por (ruta del campo, cadena de dirección) Crea un QueryOrderByConstraint que ordena el resultado de la consulta por el campo especificado, opcionalmente en orden descendente en lugar de ascendente. Nota: Los documentos que no contengan el campo especificado no estarán presentes en el resultado de la consulta.
donde(rutacampo, opStr, valor) Crea un QueryFieldFilterConstraint que exige que los documentos deben contener el campo especificado y que el valor debe satisfacer la restricción de relación proporcionada.
función (valores de campo, ...)
final en (valores de campo) Crea un QueryEndAtConstraint que modifica el conjunto de resultados para que finalice en los campos proporcionados en relación con el orden de la consulta. El orden de los valores de los campos debe coincidir con el orden de las cláusulas de orden por de la consulta.
finalizar antes (valores de campo) Crea un QueryEndAtConstraint que modifica el conjunto de resultados para que finalice antes de los campos proporcionados en relación con el orden de la consulta. El orden de los valores de los campos debe coincidir con el orden de las cláusulas de orden por de la consulta.
empezar después (valores de campo) Crea un QueryStartAtConstraint que modifica el conjunto de resultados para que comience después de los campos proporcionados en relación con el orden de la consulta. El orden de los valores de los campos debe coincidir con el orden de las cláusulas de orden por de la consulta.
inicio en (valores de campo) Crea un QueryStartAtConstraint que modifica el conjunto de resultados para comenzar en los campos proporcionados en relación con el orden de la consulta. El orden de los valores de los campos debe coincidir con el orden de las cláusulas de orden por de la consulta.
función(izquierda, ...)
agregadoFieldEqual(izquierda, derecha) Compara dos 'AggregateField ` instancias para la igualdad.
agregadoQuerySnapshotEqual(izquierda, derecha) Compara dos instancias AggregateQuerySnapshot para determinar la igualdad. Dos instancias AggregateQuerySnapshot se consideran "iguales" si tienen consultas subyacentes que comparan datos iguales y iguales.
consultaIgual(izquierda, derecha) Devuelve verdadero si las consultas proporcionadas apuntan a la misma colección y aplican las mismas restricciones.
refEqual(izquierda, derecha) Devuelve verdadero si las referencias proporcionadas son iguales.
instantáneaEqual(izquierda, derecha) Devuelve verdadero si las instantáneas proporcionadas son iguales.
función(límite, ...)
límite(límite) Crea un QueryLimitConstraint que solo devuelve los primeros documentos coincidentes.
límite al último (límite) Crea un QueryLimitConstraint que solo devuelve los últimos documentos coincidentes. Debe especificar al menos una cláusula orderBy para las consultas limitToLast ; de lo contrario, se generará una excepción durante la ejecución.
función (nivel de registro, ...)
setLogLevel(logLevel) Establece el nivel de detalle de los registros de Cloud Firestore (depuración, error o silencio).
función(n, ...)
incremento(n) Devuelve un valor especial que se puede utilizar con setDoc() o updateDoc() que le indica al servidor que incremente el valor actual del campo en el valor dado. Si el operando o el valor del campo actual utiliza precisión de punto flotante, toda la aritmética sigue la semántica IEEE 754. Si ambos valores son enteros, los valores fuera del rango de números seguros de JavaScript ( Number.MIN_SAFE_INTEGER a Number.MAX_SAFE_INTEGER ) también están sujetos a pérdida de precisión. Además, una vez procesadas por el backend de Firestore, todas las operaciones con números enteros tienen un límite entre -2^63 y 2^63-1. Si el valor del campo actual no es del tipo number , o si el campo aún no existe, la transformación establece el campo en el valor dado.
función (consulta, ...)
getAggregate(consulta, especificación agregada) Calcula las agregaciones especificadas sobre los documentos en el conjunto de resultados de la consulta dada sin descargar realmente los documentos. Usar esta función para realizar agregaciones es eficiente porque solo se descargan los valores de agregación finales, no los datos de los documentos. Esta función puede realizar agregaciones de documentos en los casos en que el conjunto de resultados sea prohibitivamente grande para descargarlo por completo (miles de documentos).
getCount(consulta) Calcula la cantidad de documentos en el conjunto de resultados de la consulta dada sin descargar los documentos. Usar esta función para contar los documentos es eficiente porque solo se descarga el recuento final, no los datos de los documentos. Esta función puede contar los documentos en los casos en que el conjunto de resultados sea prohibitivamente grande para descargarlo por completo (miles de documentos).
obtenerDocs(consulta) Ejecuta la consulta y devuelve los resultados como QuerySnapshot. . Todas las consultas son ejecutadas directamente por el servidor, incluso si la consulta se ejecutó previamente. Las modificaciones recientes solo se reflejan en los resultados recuperados si ya han sido aplicadas por el backend. Si el cliente está desconectado, la operación falla. Para ver los resultados previamente almacenados en caché y las modificaciones locales, use el SDK completo de Firestore.
consulta (consulta, filtro compuesto, restricciones de consulta) Crea una nueva instancia inmutable de Query que se extiende para incluir también restricciones de consulta adicionales.
consulta (consulta, consultaRestricciones) Crea una nueva instancia inmutable de Query que se extiende para incluir también restricciones de consulta adicionales.
función (consultaConstraints, ...)
y (restricciones de consulta) Crea una nueva QueryCompositeFilterConstraint que es una conjunción de las restricciones de filtro dadas. Un filtro de conjunción incluye un documento si satisface todos los filtros dados.
o (consultaRestricciones) Crea una nueva QueryCompositeFilterConstraint que es una disyunción de las restricciones de filtro dadas. Un filtro de disyunción incluye un documento si satisface alguno de los filtros dados.
función(referencia, ...)
addDoc(referencia, datos) Agregue un nuevo documento a CollectionReference especificada con los datos proporcionados, asignándole un ID de documento automáticamente. El resultado de esta escritura solo se reflejará en las lecturas de documentos que se produzcan después de que se resuelva la promesa devuelta. Si el cliente está desconectado, la escritura falla. Si desea ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, use el SDK de Firestore completo.
colección (referencia, ruta, segmentos de ruta) Obtiene una instancia CollectionReference que hace referencia a una subcolección de reference en la ruta relativa especificada.
colección (referencia, ruta, segmentos de ruta) Obtiene una instancia CollectionReference que hace referencia a una subcolección de reference en la ruta relativa especificada.
eliminarDoc(referencia) Elimina el documento al que hace referencia la DocumentReference especificada. La eliminación solo se reflejará en las lecturas de documentos que se produzcan después de que se resuelva la promesa devuelta. Si el cliente está desconectado, la eliminación falla. Si desea ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, use el SDK de Firestore completo.
doc(referencia, ruta, segmentos de ruta) Obtiene una instancia DocumentReference que hace referencia a un documento dentro de la reference en la ruta relativa especificada. Si no se especifica ninguna ruta, se utilizará una ID única generada automáticamente para la DocumentReference devuelta.
doc(referencia, ruta, segmentos de ruta) Obtiene una instancia DocumentReference que hace referencia a un documento dentro de la reference en la ruta relativa especificada.
getDoc(referencia) Lee el documento al que hace referencia la referencia del documento especificado. Todos los documentos se obtienen directamente del servidor, incluso si el documento se leyó o modificó previamente. Las modificaciones recientes solo se reflejan en la DocumentSnapshot recuperada si ya han sido aplicadas por el backend. Si el cliente está desconectado, la lectura falla. Si desea utilizar el almacenamiento en caché o ver modificaciones locales, utilice el SDK completo de Firestore.
setDoc(referencia, datos) Escribe en el documento al que hace referencia la DocumentReference especificada. Si el documento aún no existe, se creará. El resultado de esta escritura solo se reflejará en las lecturas de documentos que se produzcan después de que se resuelva la promesa devuelta. Si el cliente está desconectado, la escritura falla. Si desea ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, use el SDK de Firestore completo.
setDoc(referencia, datos, opciones) Escribe en el documento al que hace referencia la DocumentReference especificada. Si el documento aún no existe, se creará. Si proporciona merge o mergeFields , los datos proporcionados se pueden combinar en un documento existente. El resultado de esta escritura solo se reflejará en las lecturas de documentos que se produzcan después de que se resuelva la promesa devuelta. Si el cliente está desconectado, la escritura falla. Si desea ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, use el SDK de Firestore completo.
updateDoc(referencia, datos) Actualiza los campos del documento al que hace referencia la DocumentReference especificada. La actualización fallará si se aplica a un documento que no existe. El resultado de esta actualización solo se reflejará en las lecturas de documentos que se produzcan después de que se resuelva la promesa devuelta. Si el cliente está desconectado, la actualización falla. Si desea ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, use el SDK de Firestore completo.
updateDoc(referencia, campo, valor, másCamposAndValues) Actualiza los campos en el documento al que hace referencia la DocumentReference especificada. La actualización fallará si se aplica a un documento que no existe. Los campos anidados se pueden actualizar proporcionando cadenas de ruta de campo separadas por puntos o proporcionando objetos FieldPath . El resultado de esta actualización solo se reflejará en las lecturas de documentos que se produzcan después de que se resuelva la promesa devuelta. Si el cliente está desconectado, la actualización falla. Si desea ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, use el SDK de Firestore completo.
función (instantánea, ...)
finalizar en (instantánea) Crea un QueryEndAtConstraint que modifica el conjunto de resultados para que finalice en el documento proporcionado (inclusive). La posición final es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el ordenPor de la consulta.
finalizar antes (instantánea) Crea un QueryEndAtConstraint que modifica el conjunto de resultados para que finalice antes del documento proporcionado (exclusivo). La posición final es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el ordenPor de la consulta.
empezar después (instantánea) Crea un QueryStartAtConstraint que modifica el conjunto de resultados para que comience después del documento proporcionado (exclusivo). La posición inicial es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el ordenPor de la consulta.
inicio en (instantánea) Crea un QueryStartAtConstraint que modifica el conjunto de resultados para comenzar en el documento proporcionado (inclusive). La posición inicial es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el orderBy de esta consulta.

Clases

Clase Descripción
Campo agregado Representa una agregación que puede realizar Firestore.
Instantánea de consulta agregada Los resultados de la ejecución de una consulta de agregación.
bytes Un objeto inmutable que representa una matriz de bytes.
ColecciónReferencia Se puede utilizar un objeto CollectionReference para agregar documentos, obtener referencias de documentos y consultar documentos (usando query() ).
Referencia de documento Una DocumentReference se refiere a la ubicación de un documento en una base de datos de Firestore y se puede usar para escribir, leer o escuchar la ubicación. El documento en la ubicación referenciada puede existir o no.
Instantánea del documento Un DocumentSnapshot contiene datos leídos de un documento en su base de datos de Firestore. Los datos se pueden extraer con .data() o .get(<field>) para obtener un campo específico. Para una DocumentSnapshot que apunta a un documento no existente, cualquier acceso a datos devolverá "indefinido". Puede utilizar el método exists() para verificar explícitamente la existencia de un documento.
Ruta de campo Un FieldPath se refiere a un campo en un documento. La ruta puede consistir en un único nombre de campo (que hace referencia a un campo de nivel superior en el documento) o una lista de nombres de campos (que hace referencia a un campo anidado en el documento). Cree un FieldPath proporcionando nombres de campos. Si se proporciona más de un nombre de campo, la ruta apuntará a un campo anidado en un documento.
Valor de campo Valores centinela que se pueden utilizar al escribir campos de documentos con set() o update() .
Tienda de fuego La interfaz del servicio Cloud Firestore. No llame a este constructor directamente. En su lugar, utilice getFirestore() .
Error de tienda de fuego Un error devuelto por una operación de Firestore.
Geopunto Un objeto inmutable que representa una ubicación geográfica en Firestore. La ubicación se representa como un par de latitud/longitud. Los valores de latitud están en el rango de [-90, 90]. Los valores de longitud están en el rango de [-180, 180].
Consulta Una Query se refiere a una consulta que puede leer o escuchar. También puede construir objetos Query refinados agregando filtros y ordenándolos.
QueryCompositeFilterConstraint Se utiliza un QueryCompositeFilterConstraint para limitar el conjunto de documentos devueltos por una consulta de Firestore realizando el OR o el AND lógico de múltiples QueryFieldFilterConstraint . s o QueryCompositeFilterConstraint s. QueryCompositeFilterConstraint se crean invocando or() o and() y luego se pueden pasar a query() para crear una nueva instancia de consulta que también contenga QueryCompositeFilterConstraint .
Restricción de consulta Se utiliza una QueryConstraint para limitar el conjunto de documentos devueltos por una consulta de Firestore. Los QueryConstraint se crean invocando dónde() , ordenar por() , Empieza en() , empezar después() , finalizar antes() , termina en() , límite() , limitToLast() y luego se puede pasar a query() para crear una nueva instancia de consulta que también contenga este QueryConstraint .
ConsultaDocumentoInstantánea Un QueryDocumentSnapshot contiene datos leídos de un documento en su base de datos de Firestore como parte de una consulta. Se garantiza que el documento existe y sus datos se pueden extraer con .data() o .get(<field>) para obtener un campo específico. Un QueryDocumentSnapshot ofrece la misma superficie API que un DocumentSnapshot . Dado que los resultados de la consulta solo contienen documentos existentes, la propiedad exists siempre será verdadera y data() nunca devolverá "indefinido".
QueryEndAtConstraint Se utiliza QueryEndAtConstraint para excluir documentos del final de un conjunto de resultados devuelto por una consulta de Firestore. QueryEndAtConstraint se crean invocando endAt() o endBefore() y luego se pueden pasar a query() para crear una nueva instancia de consulta que también contenga este QueryEndAtConstraint .
Restricción de filtro de campo de consulta Un QueryFieldFilterConstraint se utiliza para limitar el conjunto de documentos devueltos por una consulta de Firestore filtrando uno o más campos de documento. QueryFieldFilterConstraint se crean invocando where() y luego se pueden pasar a query() para crear una nueva instancia de consulta que también contenga este QueryFieldFilterConstraint .
Restricción de límite de consulta Se utiliza un QueryLimitConstraint para limitar la cantidad de documentos devueltos por una consulta de Firestore. QueryLimitConstraint se crean invocando limit() o limitToLast() y luego se pueden pasar a query() para crear una nueva instancia de consulta que también contenga este QueryLimitConstraint .
ConsultaOrderByConstraint Se utiliza QueryOrderByConstraint para ordenar el conjunto de documentos devueltos por una consulta de Firestore. QueryOrderByConstraint se crean invocando orderBy() y luego se pueden pasar a query() para crear una nueva instancia de consulta que también contenga este QueryOrderByConstraint . Nota: Los documentos que no contengan el campo ordenarPor no estarán presentes en el resultado de la consulta.
ConsultaInstantánea Un QuerySnapshot contiene cero o más objetos DocumentSnapshot que representan los resultados de una consulta. Se puede acceder a los documentos como una matriz a través de la propiedad docs o enumerarlos usando el método forEach . El número de documentos se puede determinar mediante las propiedades empty y size .
ConsultaInicioEnConstraint Se utiliza QueryStartAtConstraint para excluir documentos del inicio de un conjunto de resultados devuelto por una consulta de Firestore. QueryStartAtConstraint se crean invocando startAt() o startAfter() y luego se pueden pasar a query() para crear una nueva instancia de consulta que también contenga este QueryStartAtConstraint .
Marca de tiempo Una Timestamp representa un punto en el tiempo independiente de cualquier zona horaria o calendario, representado como segundos y fracciones de segundos con una resolución de nanosegundos en la época UTC. Está codificado utilizando el Calendario Gregoriano Proléptico que extiende el calendario gregoriano hacia atrás hasta el año uno. Se codifica asumiendo que todos los minutos tienen una duración de 60 segundos, es decir, los segundos intercalares están "borrados" de modo que no se necesita una tabla de segundos intercalares para la interpretación. El rango es de 0001-01-01T00:00:00Z a 9999-12-31T23:59:59.999999999Z. Para obtener ejemplos y especificaciones adicionales, consulte la definición de marca de tiempo. .
Transacción Una referencia a una transacción. El objeto Transaction pasado a updateFunction de una transacción proporciona los métodos para leer y escribir datos dentro del contexto de la transacción. Ver ejecutarTransacción() .
escribir lote Un lote de escritura, utilizado para realizar múltiples escrituras como una sola unidad atómica. Se puede adquirir un objeto WriteBatch llamando a writeBatch() . Proporciona métodos para agregar escrituras al lote de escritura. Ninguna de las escrituras se confirmará (ni será visible localmente) hasta que se llame a WriteBatch.commit() .

Interfaces

Interfaz Descripción
Especificaciones agregadas Especifica un conjunto de agregaciones y sus alias.
Datos del documento Datos del documento (para usar con setDoc() ) consta de campos asignados a valores.
FirestoreDataConverter Convertidor utilizado por withConverter() para transformar objetos de usuario de tipo AppModelType en datos de Firestore de tipo DbModelType . El uso del convertidor le permite especificar argumentos de tipo genérico al almacenar y recuperar objetos de Firestore. En este contexto, un "AppModel" es una clase que se utiliza en una aplicación para empaquetar información y funcionalidad relacionadas. Una clase de este tipo podría, por ejemplo, tener propiedades con tipos de datos anidados complejos, propiedades utilizadas para la memorización, propiedades de tipos no admitidos por Firestore (como symbol y bigint ) y funciones auxiliares que realizan operaciones compuestas. Estas clases no son adecuadas ni posibles de almacenar en una base de datos de Firestore. En cambio, las instancias de dichas clases deben convertirse en "objetos JavaScript antiguos y simples" (POJO) con propiedades exclusivamente primitivas, potencialmente anidadas dentro de otros POJO o matrices de POJO. En este contexto, este tipo se conoce como "DbModel" y sería un objeto adecuado para persistir en Firestore. Para mayor comodidad, las aplicaciones pueden implementar FirestoreDataConverter y registrar el convertidor con objetos de Firestore, como DocumentReference o Query , para convertir automáticamente AppModel a DbModel cuando se almacena en Firestore y convertir DbModel a AppModel cuando se recupera de Firestore.
Ajustes Especifica configuraciones personalizadas para su instancia de Cloud Firestore. Debe configurarlos antes de invocar cualquier otro método.
Opciones de transacción Opciones para personalizar el comportamiento de las transacciones.

Tipo de alias

Tipo Alias Descripción
AgregarPrefijoAClaves Devuelve un nuevo mapa donde cada clave tiene como prefijo la clave exterior adjunta a un punto.
Tipo de campo agregado La unión de todos los tipos AggregateField admitidos por Firestore.
Datos de especificación agregados Un tipo cuyas claves se toman de AggregateSpec y cuyos valores son el resultado de la agregación realizada por el AggregateField correspondiente a partir de la entrada AggregateSpec .
Tipo agregado Tipo de unión que representa el tipo de agregado que se va a realizar.
Campos de actualización infantil Ayudante para calcular los campos anidados para un tipo determinado T1. Esto es necesario para distribuir tipos de unión como undefined | {...} (sucede con accesorios opcionales) o {a: A} | {b: B} . En este caso de uso, V se usa para distribuir los tipos de unión de T[K] en Record , ya que T[K] se evalúa como una expresión y no se distribuye. Consulte https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types
Código de error de Firestore El conjunto de códigos de estado de Firestore. Los códigos son los mismos que los expuestos por gRPC aquí: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md Valores posibles: - 'cancelado': la operación fue cancelada (normalmente por la persona que llama). - 'desconocido': error desconocido o error de un dominio de error diferente. - 'argumento-inválido': el cliente especificó un argumento no válido. Tenga en cuenta que esto difiere de la "condición previa fallida". 'argumento-inválido' indica argumentos que son problemáticos independientemente del estado del sistema (por ejemplo, un nombre de campo no válido). - 'fecha límite excedida': la fecha límite expiró antes de que se pudiera completar la operación. Para operaciones que cambian el estado del sistema, este error puede aparecer incluso si la operación se completó exitosamente. Por ejemplo, una respuesta exitosa de un servidor podría haberse retrasado lo suficiente como para que expirara el plazo. - 'no encontrado': No se encontró algún documento solicitado. - 'ya-existe': Algún documento que intentamos crear ya existe. - 'permiso denegado': la persona que llama no tiene permiso para ejecutar la operación especificada. - 'recursos agotados': se ha agotado algún recurso, tal vez una cuota por usuario, o tal vez todo el sistema de archivos se haya quedado sin espacio. - 'precondición fallida': La operación fue rechazada porque el sistema no se encuentra en el estado requerido para la ejecución de la operación. - 'abortada': la operación fue abortada, generalmente debido a un problema de concurrencia como transacciones abortadas, etc. - 'fuera de rango': la operación se intentó más allá del rango válido. - 'no implementado': la operación no está implementada o no es compatible/habilitada. - 'interno': Errores internos. Significa que se han roto algunas invariantes esperadas por el sistema subyacente. Si ve uno de estos errores, algo está muy roto. - 'no disponible': el servicio no está disponible actualmente. Lo más probable es que se trate de una condición transitoria y se puede corregir volviendo a intentarlo con un retroceso. - 'pérdida de datos': pérdida o corrupción de datos irrecuperables. - 'no autenticado': La solicitud no tiene credenciales de autenticación válidas para la operación.
Campos de actualización anidados Para cada campo (por ejemplo, 'barra'), busque todas las claves anidadas (por ejemplo, { 'bar.baz': T1, 'bar.qux': T2 } ). Interséctalos para crear un único mapa que contenga todas las claves posibles, todas marcadas como opcionales.
Ordenarpordirección La dirección de una cláusula orderBy() se especifica como 'desc' o 'asc' (descendente o ascendente).
ParcialConValorDeCampo Similar a Partial<T> de Typecript, pero permite omitir campos anidados y pasar FieldValues ​​como valores de propiedad.
Primitivo Tipos primitivos.
Tipo de restricción de consulta Describe las diferentes restricciones de consulta disponibles en este SDK.
Restricción de filtro de consulta QueryFilterConstraint es un tipo de unión auxiliar que representa QueryFieldFilterConstraint y QueryCompositeFilterConstraint . .
QueryNonFilterConstraint QueryNonFilterConstraint es un tipo de unión auxiliar que representa QueryConstraints que se utilizan para limitar u ordenar el conjunto de documentos, pero que no filtran explícitamente en un campo de documento. Los QueryNonFilterConstraint se crean invocando orderBy() , Empieza en() , empezar después() , finalizar antes() , termina en() , limit() o limitToLast() y luego se puede pasar a query() para crear una nueva instancia de consulta que también contenga QueryConstraint .
Establecer opciones Un objeto de opciones que configura el comportamiento de setDoc() y llamadas. Estas llamadas se pueden configurar para realizar fusiones granulares en lugar de sobrescribir los documentos de destino en su totalidad proporcionando SetOptions con merge: true .
unión a la intersección Dado un tipo de unión U = T1 | T2 | ... , devuelve un tipo intersectado (T1 & T2 & ...) . Utiliza tipos condicionales distributivos e inferencias a partir de tipos condicionales. Esto funciona porque varios candidatos para el mismo tipo de variable en posiciones contravariantes hacen que se infiera un tipo de intersección. 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
Actualizar datos Actualizar datos (para usar con updateDoc() ) que consta de rutas de campo (por ejemplo, 'foo' o 'foo.baz') asignadas a valores. Los campos que contienen puntos hacen referencia a campos anidados dentro del documento. Los FieldValues ​​se pueden pasar como valores de propiedad.
DondeFilterOp Las condiciones de filtro en una cláusula where() se especifican usando las cadenas '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains' , 'en', 'matriz-contiene-cualquiera' y 'no-en'.
Con valor de campo Permite pasar FieldValues ​​como un valor de propiedad manteniendo la seguridad de tipos.

función (aplicación, ...)

getFirestore (aplicación)

Devuelve la instancia predeterminada existente de Firestore que está asociada con la FirebaseApp proporcionada. . Si no existe ninguna instancia, inicializa una nueva instancia con la configuración predeterminada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
aplicación Aplicación Firebase La instancia de FirebaseApp a la que está asociada la instancia de Firestore devuelta.

Devoluciones:

Tienda de fuego

La instancia de Firestore de la aplicación proporcionada.

getFirestore(aplicación, ID de base de datos)

Esta API se proporciona como una vista previa para los desarrolladores y puede cambiar según los comentarios que recibamos. No utilice esta API en un entorno de producción.

Devuelve la instancia de Firestore existente que está asociada con la FirebaseApp proporcionada. . Si no existe ninguna instancia, inicializa una nueva instancia con la configuración predeterminada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
aplicación Aplicación Firebase La instancia de FirebaseApp a la que está asociada la instancia de Firestore devuelta.
ID de base de datos cadena El nombre de la base de datos.

Devoluciones:

Tienda de fuego

La instancia de Firestore de la aplicación proporcionada.

inicializarFirestore(aplicación, configuración)

Inicializa una nueva instancia de Cloud Firestore con la configuración proporcionada. Solo se puede llamar antes que cualquier otra función, incluida getFirestore() . Si la configuración personalizada está vacía, esta función equivale a llamar a getFirestore() .

Firma:

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

Parámetros

Parámetro Tipo Descripción
aplicación Aplicación Firebase La FirebaseApp con la que se asociará la instancia Firestore .
ajustes Ajustes Un objeto de configuración para configurar la instancia Firestore .

Devoluciones:

Tienda de fuego

Una instancia Firestore recién inicializada.

inicializarFirestore(aplicación, configuración, ID de base de datos)

Esta API se proporciona como una vista previa para los desarrolladores y puede cambiar según los comentarios que recibamos. No utilice esta API en un entorno de producción.

Inicializa una nueva instancia de Cloud Firestore con la configuración proporcionada. Solo se puede llamar antes que cualquier otra función, incluida getFirestore() . Si la configuración personalizada está vacía, esta función equivale a llamar a getFirestore() .

Firma:

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

Parámetros

Parámetro Tipo Descripción
aplicación Aplicación Firebase La FirebaseApp con la que se asociará la instancia Firestore .
ajustes Ajustes Un objeto de configuración para configurar la instancia Firestore .
ID de base de datos cadena El nombre de la base de datos.

Devoluciones:

Tienda de fuego

Una instancia Firestore recién inicializada.

función(firestore, ...)

colección (firestore, ruta, segmentos de ruta)

Obtiene una instancia CollectionReference que hace referencia a la colección en la ruta absoluta especificada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
tienda de fuego Tienda de fuego Una referencia a la instancia raíz Firestore .
camino cadena Una ruta de acceso a una colección separada por barras diagonales.
rutaSegmentos cadena[] Segmentos de ruta adicionales para aplicar en relación con el primer argumento.

Devoluciones:

ColecciónReferencia < DocumentoDatos , Datos del documento >

La instancia CollectionReference .

Excepciones

Si el camino final tiene un número par de segmentos y no apunta a una colección.

grupo de colección (firestore, ID de colección)

Crea y devuelve una nueva instancia Query que incluye todos los documentos de la base de datos que están contenidos en una colección o subcolección con el collectionId dado. .

Firma:

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

Parámetros

Parámetro Tipo Descripción
tienda de fuego Tienda de fuego Una referencia a la instancia raíz Firestore .
ID de colección cadena Identifica las colecciones sobre las que consultar. Se incluirá cada colección o subcolección con este ID como último segmento de su ruta. No puede contener una barra.

Devoluciones:

Consulta < DocumentoDatos , Datos del documento >

La Query creada .

connectFirestoreEmulator(firestore, host, puerto, opciones)

Modifique esta instancia para comunicarse con el emulador de Cloud Firestore.

Firma:

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

Parámetros

Parámetro Tipo Descripción
tienda de fuego Tienda de fuego La instancia Firestore que se configurará para conectarse al emulador.
anfitrión cadena el host del emulador (por ejemplo: localhost).
puerto número el puerto del emulador (ej: 9000).
opciones {mockUserToken?: EmulatorMockTokenOptions | cadena; }

Devoluciones:

vacío

doc(firestore, ruta, segmentos de ruta)

Obtiene una instancia DocumentReference que se refiere al documento en la ruta absoluta especificada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
tienda de fuego Tienda de fuego Una referencia a la instancia de Root Firestore .
camino cadena Un camino separado por barras a un documento.
segmentos de ruta cadena[] Segmentos de ruta adicionales que se aplicarán en relación con el primer argumento.

Devoluciones:

Referencia de documento < DocumentData , DocumentData >

La instancia DocumentReference .

Excepciones

Si la ruta final tiene un número impar de segmentos y no apunta a un documento.

Runtransaction (Firestore, UpdateFunction, Opciones)

Ejecuta la updateFunction dada e intenta confirmar los cambios aplicados dentro de la transacción. Si algún documento leída dentro de la transacción ha cambiado, Cloud Firestore reemplaza la updateFunction . Si no se compromete después de 5 intentos, la transacción falla.

El número máximo de escrituras permitidas en una sola transacción es 500.

Firma:

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

Parámetros

Parámetro Tipo Descripción
tienda de fuego Tienda de fuego Una referencia a la base de datos Firestore para ejecutar esta transacción.
Funcion de actualización (Transacción: transacción ) => Promesa <t> La función para ejecutar dentro del contexto de transacción.
opciones Opciones de transacción Un objeto de opciones para configurar el número máximo de intentos de comprometerse.

Devoluciones:

Promesa<T>

Si la transacción se completó con éxito o se abortó explícitamente (la updateFunction devolvió una promesa fallida), la promesa devuelta por la updateFunction se devuelve aquí. De lo contrario, si la transacción falló, se devuelve una promesa rechazada con el error de falla correspondiente.

Terminar (Firestore)

Termina la instancia Firestore proporcionada.

Después de llamar terminate() solo se pueden usar las funciones clearIndexedDbPersistence() . Cualquier otra función arrojará un FirestoreError . La terminación no cancela ninguna escritura pendiente, y no se resolverá cualquier promesa que esté en espera de una respuesta del servidor.

Para reiniciar después de la terminación, cree una nueva instancia de Firestore con GetFirestore () .

Firma:

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

Parámetros

Parámetro Tipo Descripción
tienda de fuego Tienda de fuego La instancia Firestore para terminar.

Devoluciones:

Promesa<nulo>

Una Promise que se resuelve cuando la instancia se ha terminado con éxito.

WriteBatch (Firestore)

Crea un lote de escritura, utilizado para realizar múltiples escrituras como una sola operación atómica. El número máximo de escrituras permitidas en una sola escritura es 500.

El resultado de estas escrituras solo se reflejará en las lecturas de documentos que ocurren después de que la promesa devuelta resuelve. Si el cliente está fuera de línea, la escritura falla. Si desea ver modificaciones locales o escrituras de búfer hasta que el cliente esté en línea, use el SDK completo de Firestore.

Firma:

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

Parámetros

Parámetro Tipo Descripción
tienda de fuego Tienda de fuego

Devoluciones:

escribir lote

Un WriteBatch que puede usarse para ejecutar atómicamente múltiples escrituras.

función()

contar()

Cree un objeto AggregateField que pueda usarse para calcular el recuento de documentos en el conjunto de resultados de una consulta.

Firma:

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

Devoluciones:

Campo agregado <número>

Deletefield ()

Devuelve un Sentinel para usar con actualateC () o setDoc () con {merge: true} para marcar un campo para la eliminación.

Firma:

export declare function deleteField(): FieldValue;

Devoluciones:

Valor de campo

documentId ()

Devuelve un Sentinel FieldPath especial para referirse a la identificación de un documento. Se puede usar en consultas para ordenar o filtrar mediante la identificación del documento.

Firma:

export declare function documentId(): FieldPath;

Devoluciones:

Ruta de campo

getFirestore ()

Devuelve la instancia de Firestore predeterminada existente que está asociada con el FirebaseApp predeterminado . Si no existe ninguna instancia, inicializa una nueva instancia con la configuración predeterminada.

Firma:

export declare function getFirestore(): Firestore;

Devoluciones:

Tienda de fuego

La instancia de Firestore de la aplicación proporcionada.

SerververImestamp ()

Devuelve un Sentinel utilizado con SetDoc () o UpdateDoc () para incluir una marca de tiempo generada por el servidor en los datos escritos.

Firma:

export declare function serverTimestamp(): FieldValue;

Devoluciones:

Valor de campo

función (base de datos, ...)

GetFirestore (DatabaseId)

Esta API se proporciona como una vista previa para los desarrolladores y puede cambiar en función de los comentarios que recibimos. No utilice esta API en un entorno de producción.

Devuelve la instancia de Firestore existente que está asociada con el FirebaseApp predeterminado . Si no existe ninguna instancia, inicializa una nueva instancia con la configuración predeterminada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
ID de base de datos cadena El nombre de la base de datos.

Devoluciones:

Tienda de fuego

La instancia de Firestore de la aplicación proporcionada.

función (elementos, ...)

Arrayremove (elementos)

Devuelve un valor especial que se puede usar con setDoc () o que le indique al servidor que elimine los elementos dados de cualquier valor de matriz que ya existe en el servidor. Todas las instancias de cada elemento especificado se eliminarán de la matriz. Si el campo que se modifica ya no es una matriz, se sobrescribirá con una matriz vacía.

Firma:

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

Parámetros

Parámetro Tipo Descripción
elementos desconocido[] Los elementos para eliminar de la matriz.

Devoluciones:

Valor de campo

El FieldValue Sentinel para su uso en una llamada a setDoc() o updateDoc()

Arrayunion (elementos)

Devuelve un valor especial que se puede usar con SetDoc () o UpdateateC () que le indique al servidor que se unan a los elementos dados con cualquier valor de matriz que ya exista en el servidor. Cada elemento especificado que ya no existe en la matriz se agregará al final. Si el campo que se modifica ya no es una matriz, se sobrescribirá con una matriz que contiene exactamente los elementos especificados.

Firma:

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

Parámetros

Parámetro Tipo Descripción
elementos desconocido[] Los elementos para la unión en la matriz.

Devoluciones:

Valor de campo

El FieldValue Sentinel para su uso en una llamada a setDoc() o updateDoc() .

función (campo, ...)

promedio (campo)

Cree un objeto AggregateField que pueda usarse para calcular el promedio de un campo especificado en un rango de documentos en el conjunto de resultados de una consulta.

Firma:

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

Parámetros

Parámetro Tipo Descripción
campo cadena | Ruta de campo Especifica que el campo promedia en todo el conjunto de resultados.

Devoluciones:

Campo agregado <número | nulo>

suma (campo)

Cree un objeto AggregateField que pueda usarse para calcular la suma de un campo especificado en un rango de documentos en el conjunto de resultados de una consulta.

Firma:

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

Parámetros

Parámetro Tipo Descripción
campo cadena | Ruta de campo Especifica el campo a sumar en el conjunto de resultados.

Devoluciones:

Campo agregado <número>

función (FieldPath, ...)

Orderby (FieldPath, DirectionsTR)

Crea una consulta de consignación que clasifica el resultado de la consulta por el campo especificado, opcionalmente en orden descendente en lugar de ascender.

Firma:

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

Parámetros

Parámetro Tipo Descripción
trayectoria cadena | Ruta de campo El campo para clasificar.
direcciones OrderByDirection Dirección opcional para ordenar ('ASC' o 'Desc'). Si no se especifica, el orden ascenderá.

Devoluciones:

QueryOrderByConstraint

La consulta creada .

Dónde (FieldPath, Opstr, Value)

Crea una CONSTRAENCIÓN DE LA QUERYFIELDFILTER que aplica que los documentos deben contener el campo especificado y que el valor debe satisfacer la restricción de relación proporcionada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
trayectoria cadena | Ruta de campo El camino para comparar
OPSTR DondeFilterOp La cadena de operación (por ejemplo, "& lt;", "& lt; =", "==", "& lt;", "& lt; =", "! =").
valor desconocido El valor para la comparación

Devoluciones:

QueryFieldFilterConstraint

La consulta creada .

función (Values ​​de campo, ...)

Endat (Values ​​de campo)

Crea una consulta de consulta que modifica el resultado establecido para finalizar en los campos proporcionados en relación con el orden de la consulta. El orden de los valores de campo debe coincidir con el orden del orden por cláusulas de la consulta.

Firma:

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

Parámetros

Parámetro Tipo Descripción
valores de campo desconocido[] Los valores de campo para finalizar esta consulta en, en orden de la orden de la consulta por.

Devoluciones:

Consulta

Una consulta de la Constalación para pasar a query()

Endbefore (Values ​​de campo)

Crea una consulta de consulta que modifica el resultado establecido para finalizar antes de los campos proporcionados en relación con el orden de la consulta. El orden de los valores de campo debe coincidir con el orden del orden por cláusulas de la consulta.

Firma:

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

Parámetros

Parámetro Tipo Descripción
valores de campo desconocido[] Los valores de campo para finalizar esta consulta antes, en orden de la orden de la consulta por.

Devoluciones:

Consulta

Una consulta de la Constalación para pasar a query()

startafter (Values ​​de campo)

Crea una consulta de consulta que modifica el resultado establecido para comenzar después de los campos proporcionados en relación con el orden de la consulta. El orden de los valores de campo debe coincidir con el orden del orden por cláusulas de la consulta.

Firma:

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

Parámetros

Parámetro Tipo Descripción
valores de campo desconocido[] Los valores de campo para comenzar esta consulta después, en orden de la orden de la consulta por.

Devoluciones:

Consulta

Una consulta de query()

Startat (Values ​​de campo)

Crea una consulta de consulta que modifica el resultado establecido para comenzar en los campos proporcionados en relación con el orden de la consulta. El orden de los valores de campo debe coincidir con el orden del orden por cláusulas de la consulta.

Firma:

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

Parámetros

Parámetro Tipo Descripción
valores de campo desconocido[] Los valores de campo para comenzar esta consulta en, en orden de la orden de la consulta.

Devoluciones:

Consulta

Una consulta de query() .

función (izquierda, ...)

AgregateFieldEqual (izquierda, derecha)

Compara dos 'Aggregatefield `Instancias de igualdad.

Firma:

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

Parámetros

Parámetro Tipo Descripción
izquierda Campo agregado <desconocido> Compare este AggregateField con la right .
bien Campo agregado <desconocido> Compare este AggregateField con la left .

Devoluciones:

booleano

agregatequerysnapshotequal (izquierda, derecha)

Compara dos instancias AggregateQuerySnapshot para la igualdad.

Dos instancias AggregateQuerySnapshot se consideran "iguales" si tienen consultas subyacentes que comparan los datos iguales y mismos.

Firma:

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 Descripción
izquierda Instantánea de consulta agregada <Aggreatespectype, AppModelType, dbModelType> El primer AggregateQuerySnapshot para comparar.
bien Instantánea de consulta agregada <Aggreatespectype, AppModelType, dbModelType> El segundo AggregateQuerySnapshot para comparar.

Devoluciones:

booleano

true si los objetos son "iguales", como se definió anteriormente, o false de lo contrario.

QueryEqual (izquierda, derecha)

Devuelve verdadero si las consultas proporcionadas apuntan a la misma colección y aplican las mismas restricciones.

Firma:

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

Parámetros

Parámetro Tipo Descripción
izquierda Consulta <AppModelType, dbModelType> Una Query para comparar.
bien Consulta <AppModelType, dbModelType> Una Query para comparar.

Devoluciones:

booleano

Verdadero si las referencias apuntan a la misma ubicación en la misma base de datos Firestore.

Refecto (izquierda, derecha)

Devuelve verdadero si las referencias proporcionadas son iguales.

Firma:

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 Descripción
izquierda Referencia de documento <AppModelType, dbModelType> | ColecciónReferencia <AppModelType, dbModelType> Una referencia para comparar.
bien Referencia de documento <AppModelType, dbModelType> | ColecciónReferencia <AppModelType, dbModelType> Una referencia para comparar.

Devoluciones:

booleano

Verdadero si las referencias apuntan a la misma ubicación en la misma base de datos Firestore.

Snapshotequal (izquierda, derecha)

Devuelve verdadero si las instantáneas proporcionadas son iguales.

Firma:

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 Descripción
izquierda Instantánea del documento <AppModelType, dbModelType> | ConsultaInstantánea <AppModelType, dbModelType> Una instantánea para comparar.
bien Instantánea del documento <AppModelType, dbModelType> | ConsultaInstantánea <AppModelType, dbModelType> Una instantánea para comparar.

Devoluciones:

booleano

Verdadero si las instantáneas son iguales.

función (límite, ...)

límite (límite)

Crea una CONSTRAENCIA DE QUERYLIMIT que solo devuelve los primeros documentos coincidentes.

Firma:

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

Parámetros

Parámetro Tipo Descripción
límite número El número máximo de artículos a devolver.

Devoluciones:

Consulta

La consulta creada .

Limittolast (límite)

Crea una CONSTRAENCIA DE QUERYLIMIT que solo devuelve los últimos documentos coincidentes.

Debe especificar al menos una cláusula orderBy para consultas limitToLast , de lo contrario, se lanzará una excepción durante la ejecución.

Firma:

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

Parámetros

Parámetro Tipo Descripción
límite número El número máximo de artículos a devolver.

Devoluciones:

Consulta

La consulta creada .

función (Loglevel, ...)

SetLoglevel (Loglevel)

Establece la verbosidad de los registros de nube Firestore (depuración, error o silencio).

Firma:

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

Parámetros

Parámetro Tipo Descripción
nivel de registro Nivel de registro La verbosidad que establece para el registro de actividad y error. Puede ser cualquiera de los siguientes valores:
  • debug el nivel de registro más detallado, principalmente para la depuración.
  • error solo para registrar errores.
  • silent to turn off logging.

Devoluciones:

vacío

función (n, ...)

incremento (n)

Devuelve un valor especial que se puede usar con SetDoc () o UpdateateC () que le dice al servidor que incrementa el valor actual del campo por el valor dado.

Si el operando o el valor de campo actual usa precisión del punto flotante, toda la aritmética sigue la semántica IEEE 754. Si ambos valores son enteros, valores fuera del rango de números seguro de JavaScript ( Number.MIN_SAFE_INTEGER a Number.MAX_SAFE_INTEGER ) también están sujetos a pérdida de precisión. Además, una vez procesado por el backend de Firestore, todas las operaciones enteras se limitan entre -2^63 y 2^63-1.

Si el valor de campo actual no es de number de tipo , o si el campo aún no existe, la transformación establece el campo en el valor dado.

Firma:

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

Parámetros

Parámetro Tipo Descripción
norte número El valor por el que se incrementará.

Devoluciones:

Valor de campo

El FieldValue Sentinel para su uso en una llamada a setDoc() o updateDoc()

función (consulta, ...)

getAggregate (consulta, AggregatesPec)

Calcula las agregaciones especificadas sobre los documentos en el conjunto de resultados de la consulta dada sin descargar realmente los documentos.

Usar esta función para realizar agregaciones es eficiente porque solo se descargan los valores de agregación final, no los datos de los documentos. Esta función puede realizar agregaciones de los documentos en los casos en que el conjunto de resultados es prohibitivamente grande para descargar completamente (miles de documentos).

Firma:

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 Descripción
consulta Consulta <AppModelType, dbModelType> La consulta cuyo conjunto de resultados se agregó.
Agregespec Aggregatespectype Un objeto AggregateSpec que especifica los agregados a realizar sobre el conjunto de resultados. El agregado especifica los alias para cada agregado, que se puede utilizar para recuperar el resultado del agregado.

Devoluciones:

Promise < AggregatequerySnapshot <Aggreatespectype, AppModelType, dbModelType >>

Ejemplo

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 el número de documentos en el conjunto de resultados de la consulta dada sin descargar realmente los documentos.

El uso de esta función para contar los documentos es eficiente porque solo se descarga el recuento final, no los datos de los documentos. Esta función puede contar los documentos en los casos en que el conjunto de resultados es prohibitivamente grande para descargar por completo (miles de documentos).

Firma:

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

Parámetros

Parámetro Tipo Descripción
consulta Consulta <AppModelType, dbModelType> La consulta cuyo tamaño de conjunto de resultados se calcula.

Devoluciones:

Promise < AggregatequerySnapshot <{Count: Aggregatefield <número>; }, AppModelType, dbModelType >>

Una promesa que se resolverá con el recuento; El recuento se puede recuperar de snapshot.data().count , donde snapshot es el AggregateQuerySnapshot al que se resuelve la promesa devuelta.

getdocs (consulta)

Ejecuta la consulta y devuelve los resultados como una QuerySnapshot .

Todas las consultas son ejecutadas directamente por el servidor, incluso si la consulta se ejecutó previamente. Las modificaciones recientes solo se reflejan en los resultados recuperados si ya han sido aplicados por el backend. Si el cliente está fuera de línea, la operación falla. Para ver los resultados cachorros previamente en caché y las modificaciones locales, use el SDK de Firestore completo.

Firma:

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

Parámetros

Parámetro Tipo Descripción
consulta Consulta <AppModelType, dbModelType> La Query para ejecutar.

Devoluciones:

Promise < QUERYSNAPSHOT <AppModelType, dbModelType >>

Una promesa que se resolverá con los resultados de la consulta.

consulta (consulta, compositefilter, consultas de consultas)

Crea una nueva instancia inmutable de consulta que se extiende para incluir también limitaciones de consulta adicionales.

Firma:

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

Parámetros

Parámetro Tipo Descripción
consulta Consulta <AppModelType, dbModelType> La instancia de consulta para usar como base para las nuevas restricciones.
filtro compuesto QueryCompositeFilterConstraint La consulta para aplicar para aplicar. Crear QueryCompositeFilterConstraint usando y () o () .
consultas Consulta [] Consulta adicional S para aplicar (por ejemplo, Orderby () , límite() ).

Devoluciones:

Consulta <AppModelType, dbModelType>

Excepciones

Si alguna de las restricciones de consulta proporcionadas no se puede combinar con las restricciones existentes o nuevas.

consulta (consulta, consultas)

Crea una nueva instancia inmutable de consulta que se extiende para incluir también limitaciones de consulta adicionales.

Firma:

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

Parámetros

Parámetro Tipo Descripción
consulta Consulta <AppModelType, dbModelType> La instancia de consulta para usar como base para las nuevas restricciones.
consultas Consulta [] La lista de consultas s para aplicar.

Devoluciones:

Consulta <AppModelType, dbModelType>

Excepciones

Si alguna de las restricciones de consulta proporcionadas no se puede combinar con las restricciones existentes o nuevas.

función (consulta degradaciones, ...)

y (consultas)

Crea una nueva consultora de consulta que es una conjunción de las restricciones de filtro dadas. Un filtro de conjunción incluye un documento si satisface todos los filtros dados.

Firma:

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

Parámetros

Parámetro Tipo Descripción
consultas Restricción de filtro de consulta [] Opcional. La lista de QueryFilterConstraint s para realizar una conjunción para. Estos deben crearse con llamadas a donde () , o() , o y() .

Devoluciones:

QueryCompositeFilterConstraint

La recién creada QueryCompositeFilterConstraint .

o (consultas de consultas)

Crea una nueva consultora de consultas de consulta que es una disyunción de las restricciones de filtro dadas. Un filtro de disyunción incluye un documento si satisface alguno de los filtros dados.

Firma:

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

Parámetros

Parámetro Tipo Descripción
consultas Restricción de filtro de consulta [] Opcional. La lista de QueryFilterConstraint s para realizar una disyunción para. Estos deben crearse con llamadas a donde () , o() , o y() .

Devoluciones:

QueryCompositeFilterConstraint

La recién creada QueryCompositeFilterConstraint .

función (referencia, ...)

addDoc (referencia, datos)

Agregue un nuevo documento a CollectionReference especificado con los datos dados, asignándole una ID de documento automáticamente.

El resultado de esta escritura solo se reflejará en lecturas de documentos que ocurren después de que la promesa devuelta se resuelve. Si el cliente está fuera de línea, la escritura falla. Si desea ver modificaciones locales o escrituras de búfer hasta que el cliente esté en línea, use el SDK completo de Firestore.

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia ColecciónReferencia <AppModelType, dbModelType> Una referencia a la colección para agregar este documento.
datos WithfieldValue <ppModelType> Un objeto que contiene los datos para el nuevo documento.

Devoluciones:

Promise < documentReference <AppModelType, dbModelType >>

Una Promise resuelta con una DocumentReference que apunta al documento recién creado después de haber sido escrito en el backend.

Excepciones

Error: si la entrada proporcionada no es un documento de Firestore válido.

Colección (referencia, ruta, rathsegments)

Obtiene una instancia CollectionReference que se refiere a una subcolección de reference en la ruta relativa especificada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia ColecciónReferencia <AppModelType, dbModelType> Una referencia a una colección.
camino cadena Una ruta de acceso a una colección separada por barras diagonales.
segmentos de ruta cadena[] Segmentos de ruta adicionales para aplicar en relación con el primer argumento.

Devoluciones:

ColecciónReferencia < DocumentData , DocumentData >

La instancia CollectionReference .

Excepciones

Si la ruta final tiene un número par de segmentos y no apunta a una colección.

Colección (referencia, ruta, rathsegments)

Obtiene una instancia CollectionReference que se refiere a una subcolección de reference en la ruta relativa especificada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia Referencia de documento <AppModelType, dbModelType> Una referencia a un documento de Firestore.
camino cadena Una ruta de acceso a una colección separada por barras diagonales.
segmentos de ruta cadena[] Segmentos de ruta adicionales que se aplicarán en relación con el primer argumento.

Devoluciones:

ColecciónReferencia < DocumentData , DocumentData >

La instancia CollectionReference .

Excepciones

Si la ruta final tiene un número par de segmentos y no apunta a una colección.

Deletedoc (referencia)

Elimina el documento mencionado por la DocumentReference especificado .

La eliminación solo se reflejará en las lecturas de documentos que ocurren después de que la promesa devuelta se resuelve. Si el cliente está fuera de línea, el Delete falla. Si desea ver modificaciones locales o escrituras de búfer hasta que el cliente esté en línea, use el SDK completo de Firestore.

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia Referencia de documento <AppModelType, dbModelType> Una referencia al documento para eliminar.

Devoluciones:

Promesa<nulo>

Una Promise resuelta una vez que el documento se ha eliminado con éxito del backend.

DOC (referencia, ruta, ruta)

Obtiene una instancia DocumentReference que se refiere a un documento dentro de la reference en la ruta relativa especificada. Si no se especifica una ruta, se utilizará una ID única generada automáticamente para la DocumentReference devuelto .

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia ColecciónReferencia <AppModelType, dbModelType> Una referencia a una colección.
camino cadena Un camino separado por barras a un documento. Debe omitirse para usar IDS generados automáticamente.
segmentos de ruta cadena[] Segmentos de ruta adicionales que se aplicarán en relación con el primer argumento.

Devoluciones:

Referencia de documento <AppModelType, dbModelType>

La instancia DocumentReference .

Excepciones

Si la ruta final tiene un número impar de segmentos y no apunta a un documento.

DOC (referencia, ruta, ruta)

Obtiene una instancia DocumentReference que se refiere a un documento dentro de la reference en la ruta relativa especificada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia Referencia de documento <AppModelType, dbModelType> Una referencia a un documento de Firestore.
camino cadena Un camino separado por barras a un documento.
segmentos de ruta cadena[] Segmentos de ruta adicionales que se aplicarán en relación con el primer argumento.

Devoluciones:

Referencia de documento < DocumentData , DocumentData >

La instancia DocumentReference .

Excepciones

Si la ruta final tiene un número impar de segmentos y no apunta a un documento.

getDoc (referencia)

Lee el documento mencionado por la referencia del documento especificada.

Todos los documentos se obtienen directamente del servidor, incluso si el documento se leyó o modificó previamente. Las modificaciones recientes solo se reflejan en el DocumentSnapshot recuperado si el backend ya las ha aplicado. Si el cliente está fuera de línea, la lectura falla. Si desea usar el almacenamiento en caché o ver modificaciones locales, utilice el SDK completo Firestore.

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia Referencia de documento <AppModelType, dbModelType> La referencia del documento para buscar.

Devoluciones:

Promise < DocumentsNapshot <AppModelType, dbModelType >>

Una promesa resuelta con un DocumentSnapshot que contiene el contenido actual del documento.

setDoc (referencia, datos)

Escritos en el documento mencionado por la DocumentReference especificada . Si el documento aún no existe, se creará.

El resultado de esta escritura solo se reflejará en lecturas de documentos que ocurren después de que la promesa devuelta se resuelve. Si el cliente está fuera de línea, la escritura falla. Si desea ver modificaciones locales o escrituras de búfer hasta que el cliente esté en línea, use el SDK completo de Firestore.

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia Referencia de documento <AppModelType, dbModelType> Una referencia al documento para escribir.
datos WithfieldValue <ppModelType> Un mapa de los campos y valores del documento.

Devoluciones:

Promesa<nulo>

Una Promise resuelta una vez que los datos se han escrito con éxito en el backend.

Excepciones

Error: si la entrada proporcionada no es un documento de Firestore válido.

setDoc (referencia, datos, opciones)

Escritos en el documento mencionado por la DocumentReference especificada . Si el documento aún no existe, se creará. Si proporciona merge o mergeFields , los datos proporcionados se pueden fusionar en un documento existente.

El resultado de esta escritura solo se reflejará en lecturas de documentos que ocurren después de que la promesa devuelta se resuelve. Si el cliente está fuera de línea, la escritura falla. Si desea ver modificaciones locales o escrituras de búfer hasta que el cliente esté en línea, use el SDK completo de Firestore.

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia Referencia de documento <AppModelType, dbModelType> Una referencia al documento para escribir.
datos Parcialwithfieldvalue <ppModelType> Un mapa de los campos y valores del documento.
opciones Establecer opciones Un objeto para configurar el comportamiento establecido.

Devoluciones:

Promesa<nulo>

Una Promise resuelta una vez que los datos se han escrito con éxito en el backend.

Excepciones

Error: si la entrada proporcionada no es un documento de Firestore válido.

UpdateDoc (referencia, datos)

Actualizaciones de campos en el documento mencionado por la DocumentReference especificada . La actualización fallará si se aplica a un documento que no existe.

El resultado de esta actualización solo se reflejará en las lecturas de documentos que ocurren después de que la promesa devuelta se resuelve. Si el cliente está fuera de línea, la actualización falla. Si desea ver modificaciones locales o escrituras de búfer hasta que el cliente esté en línea, use el SDK completo de Firestore.

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia Referencia de documento <AppModelType, dbModelType> Una referencia al documento para actualizar.
datos Actualizar datos <DbModelType> Un objeto que contiene los campos y valores para actualizar el documento. Los campos pueden contener puntos para hacer referencia a campos anidados dentro del documento.

Devoluciones:

Promesa<nulo>

Una Promise resuelta una vez que los datos se han escrito con éxito en el backend.

Excepciones

Error: si la entrada proporcionada no son datos de Firestore válidos.

UpdateatedOC (referencia, campo, valor, MoreFieldsand Values)

Actualizaciones de campos en el documento mencionado por la DocumentReference especificada La actualización fallará si se aplica a un documento que no existe.

Los campos anidados se pueden actualizar proporcionando cadenas de ruta de campo separadas por DOT o proporcionando objetos FieldPath .

El resultado de esta actualización solo se reflejará en las lecturas de documentos que ocurren después de que la promesa devuelta se resuelve. Si el cliente está fuera de línea, la actualización falla. Si desea ver modificaciones locales o escrituras de búfer hasta que el cliente esté en línea, use el SDK completo de Firestore.

Firma:

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 Descripción
referencia Referencia de documento <AppModelType, dbModelType> Una referencia al documento para actualizar.
campo cadena | Ruta de campo El primer campo para actualizar.
valor desconocido El primer valor.
Más Fieldsand Values desconocido[] Pares de valor clave adicionales.

Devoluciones:

Promesa<nulo>

Una Promise resuelta una vez que los datos se han escrito con éxito en el backend.

Excepciones

Error: si la entrada proporcionada no son datos de Firestore válidos.

función (instantánea, ...)

Endat (instantánea)

Crea una consulta de consulta que modifica el resultado establecido para finalizar en el documento proporcionado (inclusive). La posición final es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el pedido de la consulta.

Firma:

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

Parámetros

Parámetro Tipo Descripción
instantánea Instantánea del documento <AppModelType, dbModelType> La instantánea del documento para terminar.

Devoluciones:

Consulta

Una consulta de la Constalación para pasar a query()

Endbefore (instantánea)

Crea una consulta de consulta que modifica el resultado establecido para finalizar antes del documento proporcionado (exclusivo). La posición final es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el pedido de la consulta.

Firma:

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

Parámetros

Parámetro Tipo Descripción
instantánea Instantánea del documento <AppModelType, dbModelType> La instantánea del documento para terminar antes.

Devoluciones:

Consulta

Una consulta de la Constalación para pasar a query()

startafter (instantánea)

Crea una consulta de consulta que modifica el resultado establecido para comenzar después del documento proporcionado (exclusivo). La posición inicial es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el pedido de la consulta.

Firma:

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

Parámetros

Parámetro Tipo Descripción
instantánea Instantánea del documento <AppModelType, dbModelType> La instantánea del documento para comenzar después.

Devoluciones:

Consulta

Una consulta de query()

startat (instantánea)

Crea una consulta de consulta que modifica el resultado establecido para comenzar en el documento proporcionado (inclusive). La posición inicial es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el orderBy de esta consulta.

Firma:

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

Parámetros

Parámetro Tipo Descripción
instantánea Instantánea del documento <AppModelType, dbModelType> La instantánea del documento para comenzar.

Devoluciones:

Consulta

Una consulta de query() .

AddprefyteCkokeys

Devuelve un nuevo mapa donde cada clave tiene el prefijo con la tecla externa adjunta a un punto.

Firma:

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];
};

Tipo de campo agregado

La unión de todos los tipos AggregateField que son apoyados por Firestore.

Firma:

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

Datos de especificación agregados

Un tipo cuyas claves están tomadas de un AggregateSpec , y cuyos valores son el resultado de la agregación realizada por el AggregateField correspondiente desde la entrada AggregateSpec .

Firma:

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

AgregateType

Tipo de unión que representa el tipo agregado a realizar.

Firma:

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

Childupdatefields

Ayudante para calcular los campos anidados para un tipo dado T1. Esto es necesario para distribuir tipos de sindicatos como undefined | {...} (sucede para accesorios opcionales) o {a: A} | {b: B} .

En este caso de uso, V se usa para distribuir los tipos de la Unión de T[K] en Record , ya que T[K] se evalúa como una expresión y no se distribuye.

Ver https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-condicional-types

Firma:

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

FirestoreErrorCode

El conjunto de códigos de estado de Firestore. Los códigos son los mismos en los expuestos por GRPC aquí: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

Valores posibles: - 'cancelado': la operación fue cancelada (generalmente por la persona que llama). - 'Desconocido': error desconocido o un error de un dominio de error diferente. - 'Argumento no válido': el cliente especificó un argumento no válido. Tenga en cuenta que esto difiere de la "precondición fallida". El "argumento no válido" indica argumentos que son problemáticos independientemente del estado del sistema (por ejemplo, un nombre de campo no válido). - 'Proporcionado con la fecha límite': la fecha límite expiró antes de que la operación pudiera completarse. Para las operaciones que cambian el estado del sistema, este error puede devolverse incluso si la operación se ha completado con éxito. Por ejemplo, una respuesta exitosa de un servidor podría haberse retrasado el tiempo suficiente para que expire la fecha límite. - 'No se encontró': no ​​se encontró algún documento solicitado. - 'ya existe': algún documento que intentamos crear ya existe. - 'Renado por permiso': la persona que llama no tiene permiso para ejecutar la operación especificada. -'recursos exhaustados': algunos recursos se han agotado, tal vez una cuota por usuario, o tal vez todo el sistema de archivos está fuera de espacio. - 'Precondición fallida': la operación fue rechazada porque el sistema no está en un estado requerido para la ejecución de la operación. - 'abortado': la operación fue abortada, generalmente debido a un problema de concurrencia como los abortos de transacción, etc.- 'fuera de rango': la operación se intentó más allá del rango válido. - 'no implementado': la operación no se implementa o no es compatible/habilitada. - 'interno': errores internos. Significa que algunos invariantes esperados por el sistema subyacente se han roto. Si ve uno de estos errores, algo está muy roto. - 'no disponible': el servicio no está disponible actualmente. Es muy probable que sea una condición transitoria y pueda corregirse reintando con un retroceso. - 'La pérdida de datos': pérdida de datos o corrupción irrecuperables. - 'no autenticado': la solicitud no tiene credenciales de autenticación válidas para la operación.

Firma:

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 ejemplo, 'bar'), encuentre todas las claves anidadas (por ejemplo, { 'Bar.Baz': T1, 'Bar.qux': T2 } ). Intersectlos juntos para hacer un solo mapa que contenga todas las teclas posibles que están marcadas como opcionales

Firma:

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

OrderByDirection

La dirección de una cláusula Orderby () se especifica como 'DESC' o 'ASC' (descendente o ascendente).

Firma:

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

Parcialwithfieldvalue

Similar al Partial<T> , pero permite que se omitan los campos anidados y se transfieran los valores de campo como valores de propiedad.

Firma:

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.

Firma:

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

Consultyconstrainttype

Describe las diferentes restricciones de consulta disponibles en este SDK.

Firma:

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

Restricción de filtro de consulta

QueryFilterConstraint es un tipo de unión auxiliar que representa QueryFieldFilterConstraint y QueryCompositeFilterConstraint .

Firma:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

Consulta

QueryNonFilterConstraint es un tipo de unión auxiliar que representa la consulta de consultas que se utilizan para reducir o ordenar el conjunto de documentos, pero que no se filtran explícitamente en un campo de documento. QueryNonFilterConstraint S se crean invocando Orderby () , Empieza en() , startafter () , endbefore () , termina en() , Limit () o Limittolast () y luego se puede pasar a la consulta () para crear una nueva instancia de consulta que también contenga la QueryConstraint .

Firma:

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

Establecer opciones

Un objeto de opciones que configura el comportamiento de setDoc () , y llamadas. Estas llamadas se pueden configurar para realizar fusiones granulares en lugar de sobrescribir los documentos de destino en su totalidad proporcionando un SetOptions con merge: true .

Firma:

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

unión a la intersección

Dado un tipo de unión U = T1 | T2 | ... , devuelve un tipo intersectado (T1 & T2 & ...) .

Utiliza tipos condicionales distributivos e inferencia de tipos condicionales. Esto funciona porque múltiples candidatos para la misma variable de tipo en posiciones contrahariantes hace que se infiera un tipo de intersección. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-condicional-types https://stackoverflow.com/Questions/50374908/transform-union-type-ing-inger -tipo

Firma:

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

Actualizar datos

Actualizar datos (para usar con actualateC () ) que consiste en rutas de campo (por ejemplo, 'foo' o 'foo.baz') asignadas a valores. Los campos que contienen puntos de referencia a los campos anidados dentro del documento. Los valores de campo se pueden pasar como valores de propiedad.

Firma:

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

DondeFilterOp

Las condiciones del filtro en una cláusula donde () se especifican utilizando las cadenas '& lt;', '& lt; =', '==', '! =', '& Gt; =', '& gt;', 'Array-Contains' , 'en', 'Array-Contains-Anhy' y 'Not-In'.

Firma:

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

WithfieldValue

Permite que los valores de campo se pasen como valor de propiedad mientras se mantiene la seguridad del tipo.

Firma:

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