Esta página describe los tipos de datos que admite Cloud Firestore.
Tipos de datos
La siguiente tabla enumera los tipos de datos admitidos por 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 según 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, |
Booleano | false < true | — |
bytes | Orden de bytes | Hasta 1.048.487 bytes (1 MiB - 89 bytes). Las consultas sólo consideran los primeros 1.500 bytes. |
Fecha y hora | Cronológico | Cuando se almacena en Cloud Firestore, tiene una precisión de solo 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 utilizar este tipo de datos debido a limitaciones de consulta. Generalmente es mejor almacenar la latitud y la longitud como campos numéricos separados. Si su aplicación necesita consultas geográficas simples basadas en distancias, consulte Consultas geográficas |
Entero | Numérico | 64 bits, firmado |
Mapa | Por claves, luego por valor | Representa un objeto incrustado dentro de un documento. Cuando está indexado, puede realizar consultas 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 claves siempre está ordenado. Por ejemplo, si escribe Los campos del mapa se ordenan por clave y se comparan por pares clave-valor, comparando primero 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: |
Yaya | Ninguno | — |
Nulo | Ninguno | — |
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 consideran los primeros 1500 bytes de la representación UTF-8. |
Orden 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:
- Valores nulos
- valores booleanos
- Valores NaN
- Valores enteros y de punto flotante, ordenados en orden numérico
- Valores de fecha
- Valores de cadena de texto
- Valores de bytes
- Referencias de Cloud Firestore
- Valores de puntos geográficos
- Valores de matriz
- Valores del mapa