Referencia de propiedades de entidades

Firestore en el modo de Datastore (Datastore) admite varios tipos de datos para los valores de las propiedades. Entre ellos, se incluyen los siguientes:

  • Números enteros
  • Números de punto flotante
  • Cadenas
  • Fechas
  • Datos binarios

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

Propiedades y tipos de valores

Los valores de datos asociados a una entidad constan de una o varias propiedades. Cada propiedad tiene un nombre y uno o varios valores. Una propiedad puede tener valores de más de un tipo, y dos entidades pueden tener valores de tipos diferentes para la misma propiedad. Las propiedades pueden estar indexadas o no (las consultas que ordenan o filtran por 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 siguientes tipos de valores:

Tipo de valor Tipos de Go Ordenar por Notas
Entero int
int8
int16
int32
int64
Numérico Número entero de 64 bits con signo.
Número de punto flotante float32
float64
Numérico Doble precisión de 64 bits,
IEEE 754
Booleano bool false<true
Cadena (corta) string Unicode
Hasta 1500 bytes
Cadena (larga) string (con noindex) Ninguno Hasta 1 megabyte

Sin indexar
Porción de bytes (corta) datastore.ByteString Orden de bytes Hasta 1500 bytes
Slice de bytes (largo) []byte Ninguno Hasta 1 megabyte

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

También puedes usar struct o slice para agregar propiedades. Consulta más información en la referencia de Datastore.

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

  1. valores nulos
  2. Números de coma fija
    • Números enteros
    • Fechas y horas
  3. valores booleanos
  4. Secuencias de bytes
    • Intervalos de bytes (corto)
    • Cadena Unicode
    • claves del almacén de blob
  5. Números de punto flotante
  6. Puntos geográficos
  7. Claves de Datastore

Como no se indexan las porciones de bytes ni las cadenas largas, no tienen ningún orden definido.

.