@firebase/firestore/lite

Funciones

Función Descripción
function(app, ...)
getFirestore(app) Muestra la instancia predeterminada existente de Firestore que está asociada con la FirebaseApp proporcionada. Si no existe ninguna instancia, inicializa una nueva con la configuración predeterminada.
getFirestore(app, databaseId) (BETA) Muestra la instancia de Firestore existente que está asociada con la FirebaseApp proporcionada. Si no existe ninguna instancia, inicializa una nueva con la configuración predeterminada.
inicializarFirestore(app, configuración) Inicializa una instancia nueva de Cloud Firestore con la configuración proporcionada. Solo se puede llamar antes que a cualquier otra función, incluida getFirestore(). Si los parámetros de configuración personalizados están vacíos, esta función equivale a llamar a getFirestore().
inicializarFirestore(app, settings, databaseId) (BETA) Inicializa una instancia nueva de Cloud Firestore con la configuración proporcionada. Solo se puede llamar antes que a cualquier otra función, incluida getFirestore(). Si los parámetros de configuración personalizados están vacíos, esta función equivale a llamar a getFirestore().
function(firestore, ...)
collection(firestore, path, pathSegments) Obtiene una instancia de CollectionReference que hace referencia a la colección en la ruta de acceso absoluta especificada.
collectionGroup(firestore, collectionId) Crea y muestra una nueva instancia de Query que incluye todos los documentos de la base de datos que se encuentran en una colección o subcolección con el collectionId especificado.
connectFirestoreEmulator(firestore, host, port, options) Modifica esta instancia para que se comunique con el emulador de Cloud Firestore.Nota: Se debe llamar a esta instancia antes de que se use para realizar operaciones.
doc(firestore, path, pathSegments) Obtiene una instancia de DocumentReference que hace referencia al documento en la ruta de acceso absoluta especificada.
runTransaction(firestore, updateFunction, options) Ejecuta el updateFunction determinado y, luego, intenta confirmar los cambios aplicados dentro de la transacción. Si se modificó algún documento leído en la transacción, Cloud Firestore vuelve a intentar el updateFunction. Si no se confirma después de 5 intentos, la transacción falla.La cantidad máxima de escrituras permitida en una sola transacción es 500.
terminate(firestore) Finaliza la instancia Firestore proporcionada.Después de llamar a terminate(), solo se pueden usar las funciones clearIndexedDbPersistence(). Cualquier otra función arrojará una FirestoreError. La rescisión no cancela las escrituras pendientes, y no se resolverán las promesas que esperan una respuesta del servidor.Para reiniciar después de la finalización, crea una instancia nueva de Firestore con getFirestore().Nota: En circunstancias normales, no es necesario llamar a terminate(). Esta función es útil solo cuando deseas forzar a esta instancia a que libere todos sus recursos o en combinación con clearIndexedDbpersistent() para garantizar que se destruya todo el estado local entre ejecuciones de pruebas.
writeBatch(firestore) Crea un lote de escrituras, que se usa para realizar múltiples escrituras como una sola operación atómica. La cantidad máxima de escrituras permitidas en un solo WriteBatch es de 500.El resultado de estas escrituras solo se reflejará en las lecturas de documentos que ocurran después de que se resuelva la promesa que se muestra. Si el cliente está sin conexión, la escritura falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.
function()
count() Crea un objeto AggregateField que se pueda usar para calcular el recuento de documentos en el conjunto de resultados de una consulta.
deleteField(). Muestra un centinela para usar con updateDoc() o setDoc() con {merge: true} a fin de marcar un campo para su eliminación.
documentId() Devuelve un centinela especial FieldPath para hacer referencia al ID de un documento. Se puede usar en consultas para ordenar o filtrar por el ID de documento.
getFirestore() Muestra la instancia predeterminada existente de Firestore que está asociada con la FirebaseApp predeterminada. Si no existe ninguna instancia, inicializa una nueva con la configuración predeterminada.
serverTimestamp() Muestra un centinela usado con setDoc() o updateDoc() para incluir una marca de tiempo generada por el servidor en los datos escritos.
function(databaseId, ...)
getFirestore(databaseId) (BETA) Muestra la instancia de Firestore existente que está asociada con la FirebaseApp predeterminada. Si no existe ninguna instancia, inicializa una nueva con la configuración predeterminada.
function(elements, ...)
arrayRemove(elementos) Muestra un valor especial que se puede usar con setDoc() o que le indica al servidor que quite los elementos especificados de cualquier valor de array que ya exista en el servidor. Todas las instancias de cada elemento especificado se quitarán del array. Si el campo que se modifica aún no es un array, se reemplazará por uno vacío.
arrayUnion(elementos) Muestra un valor especial que se puede usar con setDoc() o updateDoc() que le indica al servidor que una los elementos dados con cualquier valor de array que ya exista en el servidor. Cada elemento especificado que aún no existe en el array se agregará al final. Si el campo que se modifica aún no es un array, se reemplazará por uno que contenga exactamente los elementos especificados.
function(field, ...)
promedio(campo) Crea un objeto AggregateField que se pueda usar para calcular el promedio de un campo especificado en un rango de documentos en el conjunto de resultados de una consulta.
suma(campo) Crea un objeto AggregateField que se pueda usar para calcular la suma de un campo especificado en un rango de documentos en el conjunto de resultados de una consulta.
function(fieldPath, ...)
orderBy(fieldPath, addressStr) Crea una QueryOrderByConstraint que ordena el resultado de la consulta según el campo especificado, opcionalmente en orden descendente en lugar de ascendente.Nota: Los documentos que no contienen el campo especificado no estarán presentes en el resultado de la consulta.
where(fieldPath, opStr, valor) Crea una QueryFieldFilterConstraint que exige que los documentos contengan el campo especificado y que el valor debe cumplir con la restricción de relación proporcionada.
function(fieldValues, ...)
endAt(fieldValues) Crea una 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 del campo debe coincidir con el orden de las cláusulas de la consulta.
endBefore(fieldValues) Crea una 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 del campo debe coincidir con el orden de las cláusulas de la consulta.
startAfter(fieldValues) Crea una 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 del campo debe coincidir con el orden de las cláusulas de la consulta.
startAt(fieldValues) Crea una QueryStartAtConstraint que modifica el conjunto de resultados para que comience en los campos proporcionados en relación con el orden de la consulta. El orden de los valores del campo debe coincidir con el orden de las cláusulas de la consulta.
función(izquierda, ...)
aggregateFieldEqual(izquierda, derecha) Compara dos instancias de "AggregateField" en busca de igualdad.
aggregateQuerySnapshotEqual(izquierda, derecha) Compara dos instancias de AggregateQuerySnapshot para determinar la igualdad.Dos instancias de AggregateQuerySnapshot se consideran "iguales". si tienen consultas subyacentes que comparan datos iguales y iguales.
queryEqual(izquierda, derecha) Muestra true si las consultas proporcionadas apuntan a la misma colección y aplican las mismas restricciones.
refEqual(izquierda, derecha) Muestra true si las referencias proporcionadas son iguales.
snapshotEqual(izquierda, derecha) Muestra true si las instantáneas proporcionadas son iguales.
function(limit, ...)
limit(limit) Crea una QueryLimitConstraint que solo muestra los primeros documentos que coinciden.
limitToLast(limit) Crea una QueryLimitConstraint que solo muestra los últimos documentos que coinciden.Debes especificar al menos una cláusula orderBy para las consultas limitToLast; de lo contrario, se arrojará una excepción durante la ejecución.
function(logLevel, ...)
setLogLevel(logLevel) Establece la verbosidad de los registros de Cloud Firestore (depuración, error o silencio).
function(n, ...)
increment(n) Muestra un valor especial que se puede usar con setDoc() o updateDoc() que le indica al servidor que incremente el valor actual del campo según el valor dado.Si el operando o el valor del campo actual usan la precisión de punto flotante, toda la aritmética sigue la semántica de IEEE 754. Si ambos valores son números 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 que el backend de Firestore las procesa, todas las operaciones de números enteros se limitan entre -2^63 y 2^63-1.Si el valor actual del campo no es del tipo number, o si el campo aún no existe, la transformación configura el campo en el valor dado.
function(query, ...)
getAggregate(query, aggregateSpec) Calcula las agregaciones especificadas en los documentos del conjunto de resultados de la consulta determinada sin descargar los documentos.Es eficiente usar esta función para realizar agregaciones porque solo se trata de los valores de agregación finales, no de los documentos. se descargan los datos. Esta función puede realizar agregaciones de documentos en los casos en que el conjunto de resultados sea extremadamente grande para descargarse por completo (miles de documentos).
getCount(consulta) Calcula la cantidad de documentos en el conjunto de resultados de la consulta dada sin descargarlos realmente.El uso de esta función para contar los documentos es eficiente porque solo el recuento final, no los documentos ya se hayan descargado. Esta función puede contar los documentos en casos en los que el conjunto de resultados es extremadamente grande para descargarse por completo (miles de documentos).
getDocs(query) Ejecuta la consulta y muestra los resultados como una QuerySnapshot.El servidor ejecuta todas las consultas de forma directa, incluso si la consulta ya se ejecutó anteriormente. Las modificaciones recientes solo se reflejan en los resultados recuperados si ya las aplicó el backend. Si el cliente está sin conexión, la operación falla. Para ver el resultado almacenado previamente en caché y las modificaciones locales, usa el SDK de Firestore completo.
query(query, compositeFilter, queryConstraints) Crea una nueva instancia inmutable de Query que se extiende para incluir también restricciones de consulta adicionales.
query(query, queryConstraints) Crea una nueva instancia inmutable de Query que se extiende para incluir también restricciones de consulta adicionales.
function(queryConstraints, ...)
and(queryConstraints) Crea una QueryCompositeFilterConstraint nueva 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(queryConstraints) Crea una QueryCompositeFilterConstraint nueva 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.
function(reference, ...)
addDoc(referencia, datos) Agrega un documento nuevo a un CollectionReference especificado con los datos dados y asígnale un ID de documento automáticamente.El resultado de esta escritura solo se reflejará en las lecturas de documentos que ocurran después de que se resuelva la promesa que se muestra. Si el cliente está sin conexión, la escritura falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.
collection(referencia, ruta, pathSegments) Obtiene una instancia de CollectionReference que hace referencia a una subcolección de reference en la ruta de acceso relativa especificada.
collection(referencia, ruta, pathSegments) Obtiene una instancia de CollectionReference que hace referencia a una subcolección de reference en la ruta de acceso relativa especificada.
deleteDoc(referencia) Borra el documento al que hace referencia el DocumentReference especificado.La eliminación solo se reflejará en las lecturas de documentos que ocurran después de que se resuelva la promesa que se muestra. Si el cliente no tiene conexión, la eliminación fallará. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.
doc(referencia, ruta, pathSegments) Obtiene una instancia de DocumentReference que hace referencia a un documento dentro de reference en la ruta de acceso relativa especificada. Si no se especifica una ruta de acceso, se usará un ID único generado automáticamente para el DocumentReference que se muestra.
doc(referencia, ruta, pathSegments) Obtiene una instancia de DocumentReference que hace referencia a un documento dentro de reference en la ruta de acceso relativa especificada.
getDoc(referencia) Lee el documento al que hace referencia la referencia del documento especificado.Todos los documentos se recuperan directamente del servidor, incluso si el documento se leyó o modificó anteriormente. Las modificaciones recientes solo se reflejan en el DocumentSnapshot recuperado si ya las aplicó el backend. Si el cliente está sin conexión, la lectura falla. Si quieres usar el almacenamiento en caché o ver modificaciones locales, usa el SDK de Firestore completo.
setDoc(referencia, datos) Escribe en el documento al que hace referencia el DocumentReference especificado. Si el documento aún no existe, se creará.El resultado de esta escritura solo se reflejará en las lecturas de documentos que ocurran después de que se resuelva la promesa que se muestra. Si el cliente está sin conexión, la escritura falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.
setDoc(referencia, datos, opciones) Escribe en el documento al que hace referencia el DocumentReference especificado. Si el documento aún no existe, se creará. Si proporcionas 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 realicen después de que se resuelva la promesa que se muestra. Si el cliente está sin conexión, la escritura falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.
updateDoc(referencia, datos) Actualiza los campos del documento al que hace referencia el DocumentReference especificado. 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 ocurran después de que se resuelva la promesa devuelta. Si el cliente está sin conexión, la actualización falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.
updateDoc(referencia, campo, valor, moreFieldsAndValues) Actualiza los campos del documento al que hace referencia el DocumentReference especificado. La actualización fallará si se aplica a un documento que no existe.Los campos anidados se pueden actualizar proporcionando strings de rutas de campos separados por puntos o proporcionando objetos FieldPath.El resultado de esta actualización solo se reflejará en las lecturas de documentos que se realicen después de que se resuelva la promesa que se devuelve. Si el cliente está sin conexión, la actualización falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.
function(snapshot, ...)
endAt(instantánea) Crea una QueryEndAtConstraint que modifica el conjunto de resultados para que finalice en el documento proporcionado (inclusive). La posición de finalización es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el campo orderBy de la consulta.
endBefore(resumen) Crea una QueryEndAtConstraint que modifica el conjunto de resultados para que finalice antes que el documento proporcionado (exclusivo). La posición de finalización es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el campo orderBy de la consulta.
startAfter(instantánea) Crea una 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 campo orderBy de la consulta.
startAt(instantánea) Crea una QueryStartAtConstraint que modifica el conjunto de resultados para que comience 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 las orderBy de esta consulta.

Clases

Clase Descripción
AggregateField Representa una agregación que Firestore puede realizar.
AggregateQuerySnapshot Los resultados de la ejecución de una consulta de agregación.
Bytes Es un objeto inmutable que representa un array de bytes.
CollectionReference Se puede usar un objeto CollectionReference para agregar documentos, obtener referencias y realizar consultas de documentos (con query()).
DocumentReference Un DocumentReference hace referencia 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 indicada puede existir o no.
DocumentSnapshot Un DocumentSnapshot contiene datos leídos de un documento de tu base de datos de Firestore. Los datos se pueden extraer con .data() o .get(<field>) para obtener un campo específico.En el caso de un DocumentSnapshot que apunta a un documento inexistente, cualquier acceso a los datos mostrará el valor "undefined". Puedes usar el método exists() para verificar explícitamente la existencia de un documento.
Ruta de campo Un FieldPath hace referencia a un campo en un documento. La ruta puede consistir de un solo nombre de campo (que haga referencia a un campo de nivel superior del documento) o una lista de nombres de campo (que haga referencia a un campo anidado en el documento).Proporciona los nombres de campo para crear un FieldPath. Si se proporciona más de un nombre de campo, la ruta de acceso apuntará a un campo anidado en un documento.
Valor de campo Valores de Sentinel que se pueden usar cuando se escriben campos de documentos con set() o update().
Firestore La interfaz del servicio de Cloud Firestore.No llames directamente a este constructor. En su lugar, usa getFirestore().
FirestoreError Un error que muestra una operación de Firestore.
GeoPoint Un objeto inmutable que representa una ubicación geográfica en Firestore. La ubicación se representa como un par de latitud y longitud.Los valores de latitud se encuentran en el rango de [-90, 90]. Los valores de longitud se encuentran en el rango de [-180, 180].
Consulta Un Query hace referencia a una consulta que puedes leer o escuchar. También puedes crear objetos Query refinados agregando filtros y ordenando.
QueryCompositeFilterConstraint Un QueryCompositeFilterConstraint se usa para reducir el conjunto de documentos que muestra una consulta de Firestore. Para ello, realiza el operador lógico OR o AND de varias QueryFieldFilterConstraint o QueryCompositeFilterConstraint. Las QueryCompositeFilterConstraint se crean invocando or() o and() y, luego, se pueden pasar a query() para crear una instancia de consulta nueva que también contenga el QueryCompositeFilterConstraint.
QueryConstraint Se usa QueryConstraint para limitar el conjunto de documentos que muestra una consulta de Firestore. Las QueryConstraint se crean invocando where(), orderBy(), startAt(), startAfter(), endBefore(), endAt(), limit(), limitToLast() y, luego, se puede pasar a query().QueryConstraint
QueryDocumentSnapshot Un QueryDocumentSnapshot contiene datos leídos de un documento en tu base de datos de Firestore como parte de una consulta. Se garantiza que el documento exista y sus datos se pueden extraer con .data() o .get(<field>) para obtener un campo específico.Un QueryDocumentSnapshot ofrece la misma superficie de API que un DocumentSnapshot. Dado que los resultados de la consulta solo contienen documentos existentes, la propiedad exists siempre será verdadera y data() nunca mostrará "undefined".
QueryEndAtConstraint Se usa QueryEndAtConstraint para excluir documentos del final de un conjunto de resultados que muestra una consulta de Firestore. Los objetos 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.
QueryFieldFilterConstraint Se usa QueryFieldFilterConstraint para limitar el conjunto de documentos que muestra una consulta de Firestore a través del filtrado de uno o más campos del documento. Los objetos 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.
QueryLimitConstraint Se usa QueryLimitConstraint para limitar la cantidad de documentos que muestra una consulta de Firestore. Las 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.
QueryOrderByConstraint Se usa QueryOrderByConstraint para ordenar el conjunto de documentos que muestra una consulta de Firestore. Los objetos QueryOrderByConstraint se crean mediante la invocación de 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 contienen el campo orderBy no aparecerán en el resultado de la consulta.
QuerySnapshot Una QuerySnapshot contiene cero o más objetos DocumentSnapshot que representan los resultados de una consulta. Se puede acceder a los documentos como un array a través de la propiedad docs o se pueden enumerar con el método forEach. La cantidad de documentos se puede determinar a través de las propiedades empty y size.
QueryStartAtConstraint Se usa QueryStartAtConstraint para excluir documentos del inicio de un conjunto de resultados que muestra una consulta de Firestore. Los objetos QueryStartAtConstraint se crean invocando startAt() o startAfter() y, luego, se pueden pasar a query() para crear una instancia de consulta nueva que también contenga este QueryStartAtConstraint.
Marca de tiempo Un Timestamp representa un punto en el tiempo independiente de cualquier zona horaria o calendario, representado como segundos y fracciones de segundos a una resolución de nanosegundos en la época UTC.Se codifica con el calendario gregoriano proléptico, que extiende el calendario gregoriano hacia atrás hasta el primer año. Se codifica mediante la suposición de que todos los minutos duran 60 segundos, es decir, los segundos bisiestos se “extienden” a fin de que no se necesite una segunda tabla bisiesta para la interpretación. El rango es de 0001-01-01T00:00:00Z a 9999-12-31T23:59:59.999999999Z.Para ver ejemplos y más especificaciones, consulta la Definición de marca de tiempo.
Transacción Es una referencia a una transacción.El objeto Transaction que se pasa al updateFunction de una transacción proporciona los métodos para leer y escribir datos dentro del contexto de la transacción. Consulta runTransaction().
WriteBatch Un lote de escrituras, que se usa para realizar varias escrituras como una sola unidad atómica.Un objeto WriteBatch se puede adquirir llamando a writeBatch(). Proporciona métodos para agregar escrituras al lote de escrituras. Ninguna de las escrituras se confirmará (ni será visible de forma local) hasta que se llame a WriteBatch.commit().

Interfaces

Interfaz Descripción
AggregateSpec Especifica un conjunto de agregaciones y sus alias.
Datos de documentos Los datos de documentos (para usar con setDoc()) consisten en campos asignados a valores.
FirestoreDataConverter Convertidor que usa withConverter() para transformar los objetos de usuario del tipo AppModelType en datos de Firestore de tipo DbModelType.El uso del conversor te permite especificar argumentos de tipo genérico cuando se almacenan y recuperan objetos de Firestore.En este contexto, se usa un “AppModel” es una clase que se usa en una aplicación para empaquetar información y funcionalidades relacionadas. Por ejemplo, esta clase podría tener propiedades con tipos de datos anidados complejos, propiedades usadas para la memorización, propiedades de tipos no compatibles con Firestore (como symbol y bigint) y funciones auxiliares que realizan operaciones compuestas. Estas clases no son adecuadas o no se pueden almacenar en una base de datos de Firestore. En cambio, las instancias de esas clases deben convertirse en "objetos antiguos y simples de JavaScript". (POJO) con propiedades exclusivamente primitivas, potencialmente anidadas dentro de otros POJO o arrays de POJO. En este contexto, el tipo se denomina "DbModel". y sería un objeto adecuado para permanecer 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 en DbModel cuando se almacenan en Firestore, y convertir DbModel en AppModel cuando se recuperan desde Firestore.
Configuración Especifica la configuración personalizada para tu instancia de Cloud Firestore. Debes configurarlos antes de invocar cualquier otro método.
TransactionOptions Opciones para personalizar el comportamiento de las transacciones.

Escribe alias

Alias de tipo Descripción
AddPrefixToKeys Devuelve un mapa nuevo donde cada tecla tiene el prefijo con la tecla externa agregada a un punto.
AggregateFieldType La unión de todos los tipos AggregateField compatibles con Firestore.
AggregateSpecData Un tipo cuyas claves se toman de una AggregateSpec y cuyos valores son el resultado de la agregación realizada por el AggregateField correspondiente desde el AggregateSpec de entrada.
AggregateType Tipo de unión que representa el tipo de agregación que se realizará.
ChildUpdateFields. Es una ayuda para calcular los campos anidados para un tipo T1 determinado. Esto es necesario para distribuir tipos de unión como undefined | {...} (sucede con props 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.Consulta https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types.
FirestoreErrorCode Es el conjunto de códigos de estado de Firestore. Los códigos son los mismos que los que expone gRPC aquí: https://github.com/grpc/grpc/blob/master/doc/statuscodes.mdValores posibles: - “cancelled”: La operación fue cancelada (por lo general, por el llamador). - “desconocido”: un error desconocido o de un dominio de errores diferente. - 'invalid-argument': El cliente especificó un argumento no válido. Ten en cuenta que esto es diferente de “con error de condición previa”. "argumento no válido" indica los argumentos que son problemáticos independientemente del estado del sistema (p.ej., un nombre de campo no válido). - "deadline-exceeded": El plazo venció antes de que la operación se pudiera completar. En el caso de las operaciones que cambian el estado del sistema, es probable que se muestre este error incluso si la operación se completó correctamente. Por ejemplo, una respuesta correcta desde un servidor podría haberse retrasado lo suficiente como para que el plazo venciera. - “not-found”: no se encontró algún documento solicitado. - 'ya existe': Algún documento que intentamos crear ya existe. - “permission-denied”: El emisor no tiene permiso para ejecutar la operación especificada. - "resource-agotado": se agotaron algunos recursos, tal vez una cuota por usuario, o tal vez se agotó el espacio de todo el sistema de archivos. - 'failed-precondition': la operación se rechazó porque el sistema no se encuentra en un estado necesario para la ejecución de la operación. - “aborted”: la operación se anuló, por lo general debido a un problema de simultaneidad, como la anulación de transacciones, entre otros. - “fuera de rango”: la operación se intentó fuera del rango válido. - "unimplemented": La operación no se ha implementado, no se admite o no está habilitada. - "internal": errores internos. Indica que algunas variantes que espera el sistema subyacente no funcionan. Si ves uno de estos errores, significa que hay un problema grave. - "no disponible": el servicio no está disponible en este momento. Lo más probable es que esta sea una condición transitoria y se pueda corregir si vuelves a intentar con una retirada. - “data-loss”: pérdida o corrupción de datos irrecuperables. - "unauthenticated": La solicitud no tiene credenciales de autenticación válidas para la operación.
NestedUpdateFields. Para cada campo (p.ej., 'bar'), busca todas las claves anidadas (p.ej., {'bar.baz': T1, 'bar.qux': T2}). Se pueden cruzar entre sí para crear un único mapa con todas las claves posibles marcadas como opcionales.
OrderByDirections La dirección de una cláusula orderBy() se especifica como "desc". o "asc" (ascendente o descendente).
PartialWithFieldValue Es similar a Partial<T> de TypeScript, pero permite que se omitan los campos anidados y que se pasen FieldValues como valores de propiedad.
Primitivo Tipos primitivos.
QueryConstraintType Describe las diferentes restricciones de consultas disponibles en este SDK.
QueryFilterConstraint 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 usa para ordenar o limitar el conjunto de documentos, pero que no filtra de forma explícita en un campo de documento. Los objetos QueryNonFilterConstraint se crean invocando orderBy(), startAt(), startAfter(), endBefore(), endAt(), limit() o limitToLast() y, luego, se pueden pasar a query() para crear una nueva instancia de consulta que también contenga QueryConstraint.
SetOptions Un objeto de opciones que configura el comportamiento de setDoc() y las llamadas. Estas llamadas se pueden configurar para realizar combinaciones detalladas en lugar de reemplazar los documentos de destino por completo proporcionando un SetOptions con merge: true.
UnionToIntersection Dado un tipo de unión U = T1 | T2 | ..., muestra un tipo con intersección (T1 & T2 & ...).Usa tipos condicionales distributivos e inferencia de tipos condicionales. Esto funciona porque varios candidatos para la misma variable de tipo en posiciones contra variantes provocan 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-type
UpdateData Actualiza los datos (para usarlos con updateDoc()) que contengan rutas de campos (p.ej., "foo" o "foo.baz") asignadas a valores. Los campos que contienen puntos hacen referencia a campos anidados dentro del documento. FieldValues se pueden pasar como valores de propiedad.
WhereFilterOp Las condiciones del filtro en una cláusula where() se especifican con las cadenas “&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains', 'in', 'array-contains-any' y 'not-in'.
WithFieldValue Permite que se pasen FieldValues como un valor de propiedad mientras se mantiene la seguridad de tipo.

función(app, ...)

getFirestore(aplicación)

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
app App de Firebase La instancia de FirebaseApp con la que está asociada la instancia de Firestore que se muestra.

Muestra:

Firestore

La instancia de Firestore de la app proporcionada.

getFirestore(app, databaseId)

Esta API se proporciona como versión preliminar para los desarrolladores y puede cambiar según los comentarios que recibamos. No uses esta API en un entorno de producción.

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
app App de Firebase La instancia de FirebaseApp con la que está asociada la instancia de Firestore que se muestra.
IDdebasededatos string Es el nombre de la base de datos.

Muestra:

Firestore

La instancia de Firestore de la app proporcionada.

inicializaFirestore(app, configuración)

Inicializa una instancia nueva de Cloud Firestore con la configuración proporcionada. Solo se puede llamar antes que a cualquier otra función, incluida getFirestore(). Si los parámetros de configuración personalizados están vacíos, 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
app App de Firebase La FirebaseApp con la que se asociará la instancia Firestore.
configuración Configuración Un objeto de configuración para configurar la instancia Firestore

Muestra:

Firestore

Una instancia de Firestore recién inicializada.

inicializaFirestore(app, configuración, databaseId)

Esta API se proporciona como versión preliminar para los desarrolladores y puede cambiar según los comentarios que recibamos. No uses esta API en un entorno de producción.

Inicializa una instancia nueva de Cloud Firestore con la configuración proporcionada. Solo se puede llamar antes que a cualquier otra función, incluida getFirestore(). Si los parámetros de configuración personalizados están vacíos, 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
app App de Firebase La FirebaseApp con la que se asociará la instancia Firestore.
configuración Configuración Un objeto de configuración para configurar la instancia Firestore
IDdebasededatos string Es el nombre de la base de datos.

Muestra:

Firestore

Una instancia de Firestore recién inicializada.

function(firestore, ...)

collection(firestore, path, pathSegments)

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
firestore Firestore Una referencia a la instancia raíz Firestore.
ruta string Es una ruta separada por barras a una colección.
Segmentosderuta string[] Segmentos de ruta adicionales que se aplicarán en relación con el primer argumento.

Muestra:

CollectionReference<DocumentData y DocumentData>

La instancia CollectionReference

Excepciones

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

collectionGroup(firestore, collectionId)

Crea y muestra una nueva instancia de Query que incluye todos los documentos de la base de datos que se encuentran en una colección o subcolección con el collectionId especificado.

Firma:

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

Parámetros

Parámetro Tipo Descripción
firestore Firestore Una referencia a la instancia raíz Firestore.
ID de colección string Identifica las colecciones que se consultarán. Se incluirán todas las colecciones o subcolecciones que tengan este ID como último segmento de su ruta de acceso. No puede contener una barra.

Muestra:

Consulta<DocumentData, DocumentData>

El Query creado.

connectFirestoreEmulator(firestore, host, port, opciones)

Modifica esta instancia para que se comunique 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
firestore Firestore Es la instancia Firestore que se debe configurar para conectarse al emulador.
host string el host del emulador (p. ej., localhost).
puerto número el puerto del emulador (p. ej., 9000).
opciones { falsoUserToken?: EmulatorMockTokenOptions | cadena; }.

Muestra:

void

doc(firestore, path, pathSegments)

Obtiene una instancia de DocumentReference que hace referencia al documento en la ruta de acceso absoluta especificada.

Firma:

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

Parámetros

Parámetro Tipo Descripción
firestore Firestore Una referencia a la instancia raíz Firestore.
ruta string Es una ruta de acceso separada por barras a un documento.
Segmentosderuta string[] Segmentos de ruta adicionales que se aplicarán en relación con el primer argumento.

Muestra:

DocumentReference<DocumentData y DocumentData>

La instancia DocumentReference

Excepciones

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

runTransaction(firestore, updateFunction, opciones)

Ejecuta el updateFunction determinado y, luego, intenta confirmar los cambios aplicados dentro de la transacción. Si se modificó algún documento leído en la transacción, Cloud Firestore vuelve a intentar ejecutar updateFunction. Si no se confirma después de 5 intentos, la transacción falla.

La cantidad máxima de operaciones de escritura 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
firestore Firestore Una referencia a la base de datos de Firestore con la que se ejecutará esta transacción.
Función update (transacción: Transacción) => Promesa<T> La función que se ejecutará dentro del contexto de la transacción.
opciones TransactionOptions Un objeto de opciones para configurar la cantidad máxima de intentos de confirmación.

Muestra:

Promesa<T>

Si la transacción se completó correctamente o se anuló de forma explícita (la updateFunction mostró una promesa con errores), la promesa que mostró updateFunction se muestra aquí. De lo contrario, si la transacción falló, se muestra una promesa rechazada con el error de falla correspondiente.

terminar(firestore)

Finaliza la instancia Firestore proporcionada.

Después de llamar a terminate(), solo se podrán usar las funciones clearIndexedDbPersistence(). Cualquier otra función arrojará una FirestoreError. La rescisión no cancela las escrituras pendientes, y no se resolverá ninguna promesa que esté a la espera de una respuesta del servidor.

Para reiniciar después de la finalización, crea una instancia nueva de Firestore con getFirestore().

Firma:

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

Parámetros

Parámetro Tipo Descripción
firestore Firestore La instancia Firestore que se finalizará.

Muestra:

Promise&lt;void&gt;

Una Promise que se resuelve cuando la instancia se finaliza de forma correcta.

writeBatch(firestore)

Crea un lote de escrituras, que se usa para realizar múltiples escrituras como una sola operación atómica. La cantidad máxima de escrituras permitidas en un solo WriteBatch es de 500.

El resultado de estas escrituras solo se reflejará en las lecturas de documentos que ocurran después de que se resuelva la promesa que se muestra. Si el cliente está sin conexión, la escritura falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.

Firma:

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

Parámetros

Parámetro Tipo Descripción
firestore Firestore

Muestra:

WriteBatch

Un WriteBatch que se puede usar para ejecutar de forma atómica varias escrituras.

función()

count()

Crea un objeto AggregateField que se pueda usar para calcular el recuento de documentos en el conjunto de resultados de una consulta.

Firma:

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

Muestra:

AggregateField<número>

deleteField()

Muestra un centinela para usar con updateDoc() o setDoc() con {merge: true} a fin de marcar un campo para su eliminación.

Firma:

export declare function deleteField(): FieldValue;

Muestra:

Valor de campo

IDdedocumento()

Devuelve un centinela especial FieldPath para hacer referencia al ID de un documento. Se puede usar en consultas para ordenar o filtrar por el ID de documento.

Firma:

export declare function documentId(): FieldPath;

Muestra:

Ruta de campo

getFirestore()

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

Firma:

export declare function getFirestore(): Firestore;

Muestra:

Firestore

La instancia de Firestore de la app proporcionada.

serverTimestamp()

Muestra un centinela usado con setDoc() o updateDoc() para incluir una marca de tiempo generada por el servidor en los datos escritos.

Firma:

export declare function serverTimestamp(): FieldValue;

Muestra:

Valor de campo

función(IDdebase_de_datos, ...)

getFirestore(databaseId)

Esta API se proporciona como versión preliminar para los desarrolladores y puede cambiar según los comentarios que recibamos. No uses esta API en un entorno de producción.

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

Firma:

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

Parámetros

Parámetro Tipo Descripción
IDdebasededatos string Es el nombre de la base de datos.

Muestra:

Firestore

La instancia de Firestore de la app proporcionada.

función(elementos, ...)

arrayRemove(elementos)

Muestra un valor especial que se puede usar con setDoc() o que le indica al servidor que quite los elementos especificados de cualquier valor de array que ya exista en el servidor. Todas las instancias de cada elemento especificado se quitarán del array. Si el campo que se modifica aún no es un array, se reemplazará por uno vacío.

Firma:

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

Parámetros

Parámetro Tipo Descripción
elementos desconocido Los elementos que se quitarán del array.

Muestra:

Valor de campo

El centinela FieldValue para usar en una llamada a setDoc() o updateDoc()

arrayUnion(elementos)

Muestra un valor especial que se puede usar con setDoc() o updateDoc() que le indica al servidor que una los elementos dados con cualquier valor de array que ya exista en el servidor. Cada elemento especificado que aún no existe en el array se agregará al final. Si el campo que se modifica aún no es un array, se reemplazará por uno que contenga exactamente los elementos especificados.

Firma:

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

Parámetros

Parámetro Tipo Descripción
elementos desconocido Elementos que se unirán al array.

Muestra:

Valor de campo

El centinela FieldValue para usar en una llamada a setDoc() o updateDoc().

función(campo, ...)

promedio(campo)

Crea un objeto AggregateField que se pueda usar 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 el campo que se debe promediar en el conjunto de resultados.

Muestra:

AggregateField<número | null>

suma(campo)

Crea un objeto AggregateField que se pueda usar 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 que se debe sumar en el conjunto de resultados.

Muestra:

AggregateField<número>

función(fieldPath, ...)

orderBy(fieldPath, addressStr)

Crea una QueryOrderByConstraint que ordena el resultado de la consulta según el campo especificado, opcionalmente en orden descendente en lugar de ascendente.

Firma:

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

Parámetros

Parámetro Tipo Descripción
fieldPath cadena | Ruta de campo El campo según el cual se va a ordenar.
direcciónStr OrderByDirections Indicación opcional para ordenar ("asc" o "desc"). Si no se especifica, el orden será ascendente.

Muestra:

QueryOrderByConstraint

La QueryOrderByConstraint creada.

donde(fieldPath, opStr, valor)

Crea una QueryFieldFilterConstraint que exige que los documentos contengan el campo especificado y que el valor debe cumplir con 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
fieldPath cadena | Ruta de campo La ruta para comparar
Ruta de trabajo WhereFilterOp La cadena de la operación (p. ej., "&lt;", "&lt;=", "==", "&lt;", "&lt;=", "!=").
valor desconocido El valor de la comparación

Muestra:

QueryFieldFilterConstraint

La QueryFieldFilterConstraint creada.

función(Valoresdecampo, ...)

endAt(fieldValues)

Crea una 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 del campo debe coincidir con el orden de las 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 en los que se terminará esta consulta, en el orden de la consulta.

Muestra:

QueryEndAtConstraint

Una QueryEndAtConstraint para pasar a query()

endBefore(fieldValues)

Crea una 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 del campo debe coincidir con el orden de las 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 los campos en los que se debe terminar esta consulta antes, en el orden de la consulta.

Muestra:

QueryEndAtConstraint

Una QueryEndAtConstraint para pasar a query()

startAfter(fieldValues)

Crea una 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 del campo debe coincidir con el orden de las 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 después de comenzar esta consulta, en el orden de la consulta.

Muestra:

QueryStartAtConstraint

Una QueryStartAtConstraint para pasar a query()

iniciarEn(Valoresdecampo)

Crea una QueryStartAtConstraint que modifica el conjunto de resultados para que comience en los campos proporcionados en relación con el orden de la consulta. El orden de los valores del campo debe coincidir con el orden de las 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 los campos en los que se debe iniciar esta consulta, en el orden de la consulta.

Muestra:

QueryStartAtConstraint

Una QueryStartAtConstraint para pasar a query().

función(izquierda, ...)

addFieldEqual(izquierda, derecha)

Compara dos instancias de "AggregateField" en busca de igualdad.

Firma:

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

Parámetros

Parámetro Tipo Descripción
izquierda AggregateField<desconocido> Compara este AggregateField con right.
derecha AggregateField<desconocido> Compara este AggregateField con left.

Muestra:

booleano

addQuerySnapshotEqual(izquierda, derecha)

Compara dos instancias de AggregateQuerySnapshot para determinar la igualdad.

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

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 AggregateQuerySnapshot<AggregateSpecType, AppModelType, DBMModelType> El primer AggregateQuerySnapshot que se va a comparar.
derecha AggregateQuerySnapshot<AggregateSpecType, AppModelType, DrModelType>. El segundo objeto AggregateQuerySnapshot que se va a comparar.

Muestra:

booleano

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

queryEqual(izquierda, derecha)

Muestra true 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, DrModelType> Un Query para comparar
derecha Consulta<AppModelType, DrModelType> Un Query para comparar

Muestra:

booleano

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

refEqual(izquierda, derecha)

Muestra true 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 DocumentReference<AppModelType, DrModelType> | CollectionReference<AppModelType, DrModelType> Una referencia para comparar.
derecha DocumentReference<AppModelType, DrModelType> | CollectionReference<AppModelType, DrModelType> Una referencia para comparar.

Muestra:

booleano

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

instantáneaEqual(izquierda, derecha)

Muestra true 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 DocumentSnapshot<AppModelType, DrModelType> | QuerySnapshot<AppModelType, DrModelType> Una instantánea para comparar
derecha DocumentSnapshot<AppModelType, DrModelType> | QuerySnapshot<AppModelType, DrModelType> Una instantánea para comparar

Muestra:

booleano

true si las instantáneas son iguales.

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

límite(límite)

Crea una QueryLimitConstraint que solo muestra los primeros documentos que coinciden.

Firma:

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

Parámetros

Parámetro Tipo Descripción
límite número La cantidad máxima de elementos que se mostrarán.

Muestra:

QueryLimitConstraint

La QueryLimitConstraint creada.

limitToLast(límite)

Crea una QueryLimitConstraint que solo muestra los últimos documentos que coinciden.

Debes especificar al menos una cláusula orderBy para las consultas limitToLast; de lo contrario, se arrojará 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 La cantidad máxima de elementos que se mostrarán.

Muestra:

QueryLimitConstraint

La QueryLimitConstraint creada.

función(logLevel, ...)

setLogLevel(logLevel)

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

Firma:

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

Parámetros

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

Muestra:

void

función(n, ...)

incremento(n)

Muestra un valor especial que se puede usar con setDoc() o updateDoc() que le indica al servidor que incremente el valor actual del campo según el valor especificado.

Si el operando o el valor de campo actual usan la precisión de punto flotante, toda la aritmética sigue la semántica de IEEE 754. Si ambos valores son números 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 que el backend de Firestore las procesa, todas las operaciones de números enteros se limitan entre -2^63 y 2^63-1.

Si el valor actual del campo no es del tipo number, 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
n número Valor que se va a incrementar

Muestra:

Valor de campo

El centinela FieldValue para usar en una llamada a setDoc() o updateDoc()

función(consulta, ...)

getAggregate(consulta, aggregateSpec)

Calcula las agregaciones especificadas en los documentos del conjunto de resultados de la consulta dada sin descargarlos.

Usar esta función para realizar agregaciones es eficiente porque solo se trata de los valores de agregación finales, no de los valores de se descargan los datos. Esta función puede realizar agregaciones de documentos en los casos en que el conjunto de resultados sea extremadamente grande para descargarse por completo (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, DrModelType> La consulta cuyo conjunto de resultados se agrega.
Agrega Spec. Tipo de AggregateSpec Un objeto AggregateSpec que especifique los agregados que se realizarán sobre el conjunto de resultados. AggregateSpec especifica los alias de cada agregado, que se pueden usar a fin de recuperar el resultado agregado.

Muestra:

Promesa<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DBMModelType>>

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 descargarlos realmente.

El uso de esta función para contar los documentos es eficiente porque solo el recuento final, no el de los documentos ya se hayan descargado. Esta función puede contar los documentos en casos en los que el conjunto de resultados es extremadamente grande para descargarse 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, DrModelType> La consulta para la cual se calcula el tamaño del conjunto de resultados.

Muestra:

Promesa<AggregateQuerySnapshot<{ count: AggregateField<number>; }, AppModelType, DrModelType>>.

Una promesa que se resolverá con el recuento el recuento se puede recuperar a partir de snapshot.data().count, donde snapshot es el AggregateQuerySnapshot en el que se resuelve la promesa que se muestra.

getDocs(consulta)

Ejecuta la consulta y muestra los resultados como una QuerySnapshot.

El servidor ejecuta todas las consultas directamente, incluso si la consulta se ejecutó anteriormente. Las modificaciones recientes solo se reflejan en los resultados recuperados si ya las aplicó el backend. Si el cliente está sin conexión, la operación falla. Para ver el resultado almacenado previamente en caché y las modificaciones locales, usa 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, DrModelType> El Query que se ejecutará.

Muestra:

Promesa<QuerySnapshot<AppModelType, DrModelType>>

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

query(query, compositeFilter, queryConstraints)

Crea una nueva instancia inmutable de Query que se extiende para incluir también restricciones 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, DrModelType> La instancia Query que se usará como base para las restricciones nuevas.
Filtro compuesto QueryCompositeFilterConstraint La QueryCompositeFilterConstraint que se debe aplicar. Crea QueryCompositeFilterConstraint con and() o or().
queryConstraints QueryNonFilterConstraint[] QueryNonFilterConstraint adicionales que se aplicarán (p.ej., orderBy(), limit()).

Muestra:

Consulta<AppModelType, DrModelType>

Excepciones

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

query(query, queryConstraints)

Crea una nueva instancia inmutable de Query que se extiende para incluir también restricciones 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, DrModelType> La instancia Query que se usará como base para las restricciones nuevas.
queryConstraints QueryConstraint[] La lista de QueryConstraint que se debe aplicar.

Muestra:

Consulta<AppModelType, DrModelType>

Excepciones

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

función(queryConstraints, ...)

y(queryConstraints)

Crea una QueryCompositeFilterConstraint nueva 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
queryConstraints QueryFilterConstraint[] Opcional. La lista de QueryFilterConstraint para las que se realiza una conjunción. Estos deben crearse con llamadas a where(), or() o and().

Muestra:

QueryCompositeFilterConstraint

La QueryCompositeFilterConstraint recién creada.

o(queryConstraints)

Crea una QueryCompositeFilterConstraint nueva 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
queryConstraints QueryFilterConstraint[] Opcional. La lista de QueryFilterConstraint para realizar una disyunción. Estos deben crearse con llamadas a where(), or() o and().

Muestra:

QueryCompositeFilterConstraint

La QueryCompositeFilterConstraint recién creada.

función(referencia, ...)

addDoc(referencia, datos)

Agrega un documento nuevo a un CollectionReference especificado con los datos proporcionados y asígnale un ID de documento automáticamente.

El resultado de esta escritura solo se reflejará en las lecturas de documentos que ocurran después de que se resuelva la promesa que se muestra. Si el cliente está sin conexión, la escritura falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.

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 CollectionReference<AppModelType, DrModelType> Es una referencia a la colección a la que se agregará el documento.
datos WithFieldValue<AppModelType> Es un objeto que contiene los datos del documento nuevo.

Muestra:

Promesa<DocumentReference<AppModelType, DrModelType>>

Una Promise se resuelve con un DocumentReference que apunta al documento recién creado después de que se escribió en el backend.

Excepciones

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

collection(reference, path, pathSegments)

Obtiene una instancia de CollectionReference que hace referencia a una subcolección de reference en la ruta de acceso 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 CollectionReference<AppModelType, DrModelType> Es una referencia a una colección.
ruta string Es una ruta separada por barras a una colección.
Segmentosderuta string[] Segmentos de ruta adicionales que se aplicarán en relación con el primer argumento.

Muestra:

CollectionReference<DocumentData y DocumentData>

La instancia CollectionReference

Excepciones

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

collection(reference, path, pathSegments)

Obtiene una instancia de CollectionReference que hace referencia a una subcolección de reference en la ruta de acceso 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 DocumentReference<AppModelType, DbModelType> Una referencia a un documento de Firestore.
ruta string Es una ruta separada por barras a una colección.
Segmentosderuta string[] Segmentos de ruta adicionales que se aplicarán en relación con el primer argumento.

Muestra:

CollectionReference<DocumentData y DocumentData>

La instancia CollectionReference

Excepciones

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

deleteDoc(referencia)

Borra el documento al que hace referencia el DocumentReference especificado.

La eliminación solo se reflejará en las lecturas de documentos que ocurran después de que se resuelva la promesa que se muestra. Si el cliente no tiene conexión, la eliminación fallará. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.

Firma:

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

Parámetros

Parámetro Tipo Descripción
referencia DocumentReference<AppModelType, DrModelType> Es una referencia al documento que se borrará.

Muestra:

Promise&lt;void&gt;

Una vez que se borró correctamente el documento del backend, se resuelve un Promise.

doc(referencia, ruta, pathSegments)

Obtiene una instancia de DocumentReference que hace referencia a un documento dentro de reference en la ruta de acceso relativa especificada. Si no se especifica una ruta de acceso, se usará un ID único generado automáticamente para el DocumentReference que se muestra.

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 CollectionReference<AppModelType, DrModelType> Es una referencia a una colección.
ruta string Es una ruta de acceso separada por barras a un documento. Se debe omitir para usar IDs generados automáticamente.
Segmentosderuta string[] Segmentos de ruta adicionales que se aplicarán en relación con el primer argumento.

Muestra:

DocumentReference<AppModelType, DrModelType>

La instancia DocumentReference

Excepciones

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

doc(referencia, ruta, pathSegments)

Obtiene una instancia de DocumentReference que hace referencia a un documento dentro de reference en la ruta de acceso 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 DocumentReference<AppModelType, DrModelType> Una referencia a un documento de Firestore.
ruta string Es una ruta de acceso separada por barras a un documento.
Segmentosderuta string[] Segmentos de ruta adicionales que se aplicarán en relación con el primer argumento.

Muestra:

DocumentReference<DocumentData y DocumentData>

La instancia DocumentReference

Excepciones

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

getDoc(referencia)

Lee el documento al que hace referencia la referencia del documento especificado.

Todos los documentos se recuperan directamente del servidor, incluso si el documento se leyó o modificó anteriormente. Las modificaciones recientes solo se reflejan en el DocumentSnapshot recuperado si ya las aplicó el backend. Si el cliente está sin conexión, la lectura falla. Si quieres usar el almacenamiento en caché o ver modificaciones locales, usa el SDK de Firestore completo.

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 DocumentReference<AppModelType, DbModelType> La referencia del documento que se recuperará.

Muestra:

Promesa<DocumentSnapshot<AppModelType, DrModelType>>

Se resuelve una promesa con una DocumentSnapshot que incluye el contenido del documento actual.

setDoc(referencia, datos)

Escribe en el documento al que hace referencia el DocumentReference especificado. Si el documento aún no existe, se creará.

El resultado de esta escritura solo se reflejará en las lecturas de documentos que ocurran después de que se resuelva la promesa que se muestra. Si el cliente está sin conexión, la escritura falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.

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 DocumentReference<AppModelType, DbModelType> Es una referencia al documento que se debe escribir.
datos WithFieldValue<AppModelType> Un mapa de los campos y valores del documento.

Muestra:

Promise&lt;void&gt;

Se resuelve un Promise una vez que los datos se escribieron de forma correcta en el backend.

Excepciones

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

setDoc(referencia, datos, opciones)

Escribe en el documento al que hace referencia el DocumentReference especificado. Si el documento aún no existe, se creará. Si proporcionas 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 ocurran después de que se resuelva la promesa que se muestra. Si el cliente está sin conexión, la escritura falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.

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 DocumentReference<AppModelType, DbModelType> Es una referencia al documento que se debe escribir.
datos PartialWithFieldValue<AppModelType> Un mapa de los campos y valores del documento.
opciones SetOptions Un objeto para configurar el comportamiento establecido.

Muestra:

Promise&lt;void&gt;

Se resuelve un Promise una vez que los datos se escribieron de forma correcta en el backend.

Excepciones

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

updateDoc(referencia, datos)

Actualiza los campos del documento a los que hace referencia el DocumentReference especificado. 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 que se muestra. Si el cliente está sin conexión, la actualización falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.

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 DocumentReference<AppModelType, DbModelType> Es una referencia al documento que se actualizará.
datos UpdateData<DbModelType> Un objeto que contiene los campos y valores con los que se actualiza el documento. Los campos pueden contener puntos que hagan referencia a campos anidados dentro del documento.

Muestra:

Promise&lt;void&gt;

Se resuelve un Promise una vez que los datos se escribieron de forma correcta en el backend.

Excepciones

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

updateDoc(referencia, campo, valor, moreFieldsAndValues)

Actualiza los campos del documento al que hace referencia el DocumentReference especificado. La actualización fallará si se aplica a un documento que no existe.

Los campos anidados se pueden actualizar proporcionando strings de rutas de campos separadas por puntos o con 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 que se muestra. Si el cliente está sin conexión, la actualización falla. Si quieres ver modificaciones locales o escrituras en búfer hasta que el cliente esté en línea, usa el SDK de Firestore completo.

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 DocumentReference<AppModelType, DbModelType> Es una referencia al documento que se actualizará.
campo cadena | Ruta de campo El primer campo que se actualizará.
valor desconocido El primer valor.
MásCamposYValores desconocido Pares clave-valor adicionales.

Muestra:

Promise&lt;void&gt;

Se resuelve un Promise una vez que los datos se escribieron de forma correcta 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 QueryEndAtConstraint que modifica el conjunto de resultados para que finalice en el documento proporcionado (inclusive). La posición de finalización es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el campo orderBy 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 DocumentSnapshot<AppModelType, DrModelType> La instantánea del documento en el que se terminará.

Muestra:

QueryEndAtConstraint

Una QueryEndAtConstraint para pasar a query()

endBefore(instantánea)

Crea una QueryEndAtConstraint que modifica el conjunto de resultados para que finalice antes que el documento proporcionado (exclusivo). La posición de finalización es relativa al orden de la consulta. El documento debe contener todos los campos proporcionados en el campo orderBy 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 DocumentSnapshot<AppModelType, DrModelType> La instantánea del documento que finalizará antes.

Muestra:

QueryEndAtConstraint

Una QueryEndAtConstraint para pasar a query()

startAfter(instantánea)

Crea una 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 campo orderBy 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 DocumentSnapshot<AppModelType, DrModelType> La instantánea del documento que comienza después.

Muestra:

QueryStartAtConstraint

Una QueryStartAtConstraint para pasar a query()

startAt(instantánea)

Crea una QueryStartAtConstraint que modifica el conjunto de resultados para que comience 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 las 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 DocumentSnapshot<AppModelType, DrModelType> La instantánea del documento en el que se va a comenzar.

Muestra:

QueryStartAtConstraint

Una QueryStartAtConstraint para pasar a query().

AñadirPrefixToKeys

Devuelve un mapa nuevo donde cada tecla tiene el prefijo con la tecla externa agregada 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 compatibles con Firestore.

Firma:

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

AggregateSpecData

Un tipo cuyas claves se toman de un AggregateSpec y cuyos valores son el resultado de la agregación que realiza el AggregateField correspondiente del AggregateSpec de entrada.

Firma:

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

Tipo de agregación

Tipo de unión que representa el tipo de agregación que se realizará.

Firma:

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

Camposdeactualizaciónsecundarios

Es una ayuda para calcular los campos anidados para un tipo T1 determinado. Esto es necesario para distribuir tipos de unión como undefined | {...} (sucede con props 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.

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

Firma:

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

FirestoreErrorCode

Es el conjunto de códigos de estado de Firestore. Los códigos son los mismos que los que expone gRPC aquí: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

Valores posibles: - 'cancelled': La operación fue cancelada (por lo general, la cancela el emisor). - “desconocido”: un error desconocido o que proviene de un dominio de errores diferente. - 'invalid-argument': El cliente especificó un argumento no válido. Ten en cuenta que esto es diferente de “con error de condición previa”. "argumento no válido" indica los argumentos que son problemáticos independientemente del estado del sistema (p.ej., un nombre de campo no válido). - "deadline-exceeded": El plazo venció antes de que la operación se pudiera completar. En el caso de las operaciones que cambian el estado del sistema, es probable que se muestre este error incluso si la operación se completó correctamente. Por ejemplo, una respuesta correcta desde un servidor podría haberse retrasado lo suficiente como para que el plazo venciera. - “not-found”: no se encontró algún documento solicitado. - 'ya existe': Algún documento que intentamos crear ya existe. - “permission-denied”: El emisor no tiene permiso para ejecutar la operación especificada. - "resource-agotado": se agotaron algunos recursos, tal vez una cuota por usuario, o tal vez se agotó el espacio de todo el sistema de archivos. - 'failed-precondition': la operación se rechazó porque el sistema no se encuentra en un estado necesario para la ejecución de la operación. - “aborted”: la operación se anuló, por lo general debido a un problema de simultaneidad, como la anulación de transacciones, entre otros. - “fuera de rango”: la operación se intentó fuera del rango válido. - "unimplemented": La operación no se ha implementado, no está habilitada o no se admite. - "internal": errores internos. Indica que algunas variantes que espera el sistema subyacente no funcionan. Si ves uno de estos errores, significa que hay un problema grave. - "no disponible": el servicio no está disponible en este momento. Lo más probable es que esta sea una condición transitoria y se pueda corregir si vuelves a intentar con una retirada. - “data-loss”: pérdida o corrupción de datos irrecuperables. - "unauthenticated": 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 (p.ej., 'bar'), busca todas las claves anidadas (p.ej., {'bar.baz': T1, 'bar.qux': T2}). Se pueden cruzar entre sí para crear un único mapa con todas las claves posibles 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]>;

Orden por dirección

La dirección de una cláusula orderBy() se especifica como "desc". o "asc" (ascendente o descendente).

Firma:

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

Parcialconvalordelcampo

Es similar a Partial<T> de TypeScript, pero permite que se omitan los campos anidados y que se pasen FieldValues 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);

Básico

Tipos primitivos.

Firma:

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

Tipo de restricción de consultas

Describe las diferentes restricciones de consultas disponibles en este SDK.

Firma:

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

QueryFilterConstraint

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

Firma:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

QueryNonFilterConstraint

QueryNonFilterConstraint es un tipo de unión auxiliar que representa QueryConstraints que se usa para ordenar o limitar el conjunto de documentos, pero que no filtra de forma explícita en un campo de documento. QueryNonFilterConstraintLos objetos se crean invocando orderBy(), startAt(), startAfter(), endBefore(), endAt(), limit() o limitToLast() y, luego, se pueden pasar a query() para crear una nueva instancia de consulta que también contenga la QueryConstraint.

Firma:

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

SetOptions

Un objeto de opciones que configura el comportamiento de setDoc() y las llamadas. Estas llamadas se pueden configurar para realizar combinaciones detalladas en lugar de reemplazar los documentos de destino por completo proporcionando un SetOptions con merge: true.

Firma:

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

Unión aIntersección

Con un tipo de unión U = T1 | T2 | ..., muestra un tipo de unión (T1 & T2 & ...) con intersección.

Usa tipos condicionales distributivos e inferencia a partir de tipos condicionales. Esto funciona porque varios candidatos para la misma variable de tipo en posiciones contra variantes provocan 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-type

Firma:

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

UpdateData

Actualiza los datos (para usarlos con updateDoc()) que contengan rutas de campos (p.ej., "foo" o "foo.baz") asignadas a valores. Los campos que contienen puntos hacen referencia a campos anidados dentro del documento. FieldValues 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 where() se especifican con las cadenas “&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains', 'in', 'array-contains-any' y 'not-in'.

Firma:

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

WithFieldValue

Permite que se pasen FieldValues como un valor de propiedad mientras se mantiene la seguridad de tipo.

Firma:

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