Referencia de propiedad de la entidad

Firestore en modo Datastore (Datastore) admite una variedad de tipos de datos para valores de propiedad. Se incluyen, entre otros:

  • Números enteros
  • números de punto flotante
  • Strings
  • Fechas
  • Datos binarios

Para obtener una lista completa de los tipos, consulta Propiedades y tipos de valor.

Propiedades y tipos de valores

Los valores de datos asociados con una entidad constan de una o más propiedades. Cada propiedad tiene un nombre y uno o más valores. Una propiedad puede tener valores de más de un tipo, y dos entidades pueden tener valores de diferentes tipos para la misma propiedad. Las propiedades pueden o no estar indexadas (las consultas que ordenan o filtran en una propiedad P ignorarán las entidades en las que P no esté indexada). Una entidad puede tener como máximo 20,000 propiedades indexadas.

Se admiten los tipos de valor siguientes:

Tipo de valor Tipos de Go Orden Notas
Número entero int
int8
int16
int32
int64
Numérico Número entero de 64 bits, con firma
Número de coma flotante float32
float64
Numérico Precisión doble de 64 bits,
IEEE 754
Booleano bool false<true
String (corta) string Unicode
Hasta 1,500 bytes
String (larga) string (con noindex) Ninguno Hasta 1 megabyte

Sin indexar
Segmento de bytes (corto) datastore.ByteString Orden de bytes Hasta 1,500 bytes
Segmento de bytes (largo) []byte Ninguno Hasta 1 megabyte

Sin indexar
Fecha y hora time.Time Cronológico
Punto geográfico appengine.GeoPoint Por latitud,
luego por longitud
Clave de Datastore *datastore.Key Por elementos de ruta de acceso
(tipo, identificador,
tipo, identificador…)
Clave de blobstore appengine.BlobKey Orden de bytes

También puedes usar struct o slice para agregar propiedades. Para obtener más detalles, consulta la referencia de Datastore.

Cuando una consulta incluye una propiedad con valores de varios tipos, Datastore usa un orden determinista basado en representaciones internas:

  1. Valores nulos
  2. Números de coma fija
    • Números enteros
    • fechas y horarios
  3. Valores booleanos
  4. Secuencias de bytes
    • Segmentos de bytes (cortos)
    • string de Unicode
    • Claves de Blobstore
  5. Números de coma flotante
  6. Puntos geográficos
  7. Claves de Datastore

Debido a que los segmentos de bytes largos y las strings largas no se indexan, no tienen un orden definido.