Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Tipos de datos admitidos

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

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

Tipos de datos

La siguiente tabla enumera los tipos de datos compatibles con Cloud Firestore. También describe el orden de clasificación utilizado al comparar valores del mismo tipo:

Tipo de datos Orden de clasificación notas
Formación Por valores de elementos

Una matriz no puede contener otro valor de matriz como uno de sus elementos.

Dentro de una matriz, los elementos mantienen la posición que se les ha asignado. Al ordenar dos o más matrices, las matrices se ordenan en función de los valores de sus elementos.

Al comparar dos matrices, se comparan los primeros elementos de cada matriz. Si los primeros elementos son iguales, entonces se comparan los segundos elementos y así sucesivamente hasta encontrar una diferencia. Si una matriz se queda sin elementos para comparar pero es igual hasta ese punto, entonces la matriz más corta se ordena antes que la matriz más larga.

Por ejemplo, [1, 2, 3] < [1, 2, 3, 1] < [2] . La matriz [2] tiene el mayor valor del primer elemento. La matriz [1, 2, 3] tiene elementos iguales a los primeros tres elementos de [1, 2, 3, 1] pero tiene una longitud más corta.

booleano false < true
bytes Orden de bytes Hasta 1.048.487 bytes (1 MiB - 89 bytes). Las consultas solo tienen en cuenta los primeros 1500 bytes.
Fecha y hora Cronológico Cuando se almacena en Cloud Firestore, tiene una precisión de microsegundos; cualquier precisión adicional se redondea hacia abajo.
Número de punto flotante Numérico Doble precisión de 64 bits, IEEE 754.
Punto geográfico Por latitud, luego longitud En este momento, no recomendamos usar este tipo de datos debido a las limitaciones de las consultas. Por lo general, es mejor almacenar la latitud y la longitud como campos numéricos separados. Si su aplicación necesita geoconsultas simples basadas en la distancia, consulte Consultas geográficas
Entero Numérico 64 bits, firmado
Mapa Por claves, luego por valor

Representa un objeto incrustado en un documento. Cuando está indexado, puede consultar en subcampos. Si excluye este valor de la indexación, todos los subcampos también se excluyen de la indexación.

El orden de las llaves siempre está ordenado. Por ejemplo, si escribes {c: "foo", a: "bar", b: "qux"} el mapa se ordena por clave y se guarda como {a: "bar", b: "qux", c: "foo"} .

Los campos del mapa se ordenan por clave y se comparan por pares clave-valor, primero comparando las claves y luego los valores. Si los primeros pares clave-valor son iguales, se comparan los siguientes pares clave-valor, y así sucesivamente. Si dos mapas comienzan con los mismos pares clave-valor, entonces se considera la longitud del mapa. Por ejemplo, los siguientes mapas están en orden 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 Ninguna
Referencia Por elementos de ruta (colección, ID de documento, colección, ID de documento...) Por ejemplo, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] .
cadena de texto Orden de bytes codificados en UTF-8 Hasta 1.048.487 bytes (1 MiB - 89 bytes). Las consultas solo tienen en cuenta los primeros 1500 bytes de la representación UTF-8.

Ordenación de tipo de valor

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

  1. Valores nulos
  2. valores booleanos
  3. Valores enteros y de punto flotante, ordenados en orden numérico
  4. Valores de fecha
  5. Valores de cadena de texto
  6. Valores de bytes
  7. Referencias de Cloud Firestore
  8. Valores de puntos geográficos
  9. Valores de matriz
  10. Valores del mapa