Tipos de datos admitidos

Esta página describe los tipos de datos que admite Cloud Firestore.

Tipos de datos

En la siguiente tabla, se enumeran los tipos de datos que admite Cloud Firestore. También se describe el orden de clasificación que se usa para comparar valores del mismo tipo:

Tipo de datos Orden de clasificación Notas
Arreglo Según los valores de los elementos

Un arreglo no puede contener otro valor de arreglo como uno de sus elementos.

En los arreglos, los elementos conservan la posición que se les asignó. Para ordenar dos o más arreglos, se debe realizar con base en los valores de sus elementos.

Cuando se comparan dos arreglos, se comparan los primeros elementos de cada uno de ellos. Si son iguales, se deben comparar los segundos elementos y así sucesivamente, hasta que se encuentre una diferencia. Si un arreglo no tiene más elementos que comparar, pero es igual al otro arreglo hasta ese punto, debe ordenarse antes del arreglo más largo.

Por ejemplo: [1, 2, 3] < [1, 2, 3, 1] < [2]. El arreglo [2] tiene el valor más alto en el primer elemento. El arreglo [1, 2, 3] tiene elementos iguales a los primeros tres elementos de [1, 2, 3, 1], pero su longitud es menor.

Booleano false < true
Bytes Orden de bytes Hasta 1,048,487 bytes (de 1 MiB a 89 bytes). Las consultas solo consideran los primeros 1,500 bytes.
Fecha y hora Cronológico Cuando se almacena en Cloud Firestore, la precisión máxima es de microsegundos; cualquier precisión adicional se redondea hacia abajo.
Número de coma flotante Numérico Precisión doble de 64 bits, IEEE 754.
Punto geográfico Por latitud, luego por longitud
Entero Numérico 64 bits, firmado
Mapa Por claves y, luego, por valor

Representa un objeto incorporado en un documento. Cuando se indexa, puedes hacer consultas por subcampos. Si excluyes este valor de la indexación, también se excluyen todos los subcampos.

Siempre se realiza el ordenamiento por clave. Por ejemplo, si escribes {c: "foo", a: "bar", b: "qux"}, se ordena el mapa por clave y se guarda como {a: "foo", b: "bar", c: "qux"}.

Los campos de mapas se ordenan por clave y se comparan con pares clave-valor. Primero se comparan las claves y, luego, los valores. Si los primeros pares clave-valor son iguales, se compararán los siguientes, y así sucesivamente. Si dos mapas comienzan con los mismos pares clave-valor, se considerará la longitud del mapa. Por ejemplo, estos mapas se ordenan en sentido ascendente:

{a: "aaa", b: "baz"}
{a: "foo", b: "bar"}
{a: "foo", b: "bar", c: "qux"}
{a: "foo", b: "baz"}
{b: "aaa", c: "baz"}
{c: "aaa"}

Nulo Ninguno
Referencia Por elementos de ruta de acceso (colección, ID de documento, colección, ID de documento…) Por ejemplo, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH].
String de texto Orden de bytes con codificación UTF-8 Hasta 1,048,487 bytes (de 1 MiB a 89 bytes). Las consultas solo consideran los primeros 1,500 bytes de la representación UTF-8.

Orden de los tipos de valor

Cuando una consulta incluye un campo con valores de varios tipos, Cloud Firestore usa un orden determinista basado en representaciones internas. La lista siguiente muestra el orden:

  1. Valores nulos
  2. Valores booleanos
  3. Valores de números enteros y de coma flotante, en orden numérico
  4. Valores de fechas
  5. Valores de strings de texto
  6. Valores de bytes
  7. Referencias de Cloud Firestore
  8. Valores de puntos geográficos
  9. Valores de matrices
  10. Valores de mapas

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.