Referência da propriedade da entidade

O Firestore no modo Datastore (Datastore) suporta uma variedade de tipos de dados para valores de propriedades. Estas incluem, entre outras:

  • Números inteiros
  • Números de vírgula flutuante
  • Strings
  • Datas
  • Dados binários

Para ver uma lista completa de tipos, consulte Propriedades e tipos de valores.

Propriedades e tipos de valores

Os valores de dados associados a uma entidade consistem numa ou mais propriedades. Cada propriedade tem um nome e um ou mais valores. Uma propriedade pode ter valores de mais do que um tipo, e duas entidades podem ter valores de tipos diferentes para a mesma propriedade. As propriedades podem ser indexadas ou não indexadas (as consultas que ordenam ou filtram uma propriedade P ignoram as entidades em que P não está indexada). Uma entidade pode ter, no máximo, 20 000 propriedades indexadas.

São suportados os seguintes tipos de valores:

Tipo de valor Tipos de deslocações Ordenação Notas
Número inteiro int
int8
int16
int32
int64
Numérico Número inteiro de 64 bits, com sinal
Número de vírgula flutuante float32
float64
Numérico Precisão dupla de 64 bits,
IEEE 754
Booleano bool false<true
String (curta) string Unicode
Até 1500 bytes
String (longa) string (com noindex) Nenhum Até 1 megabyte

Não indexado
Intervalo de bytes (curto) datastore.ByteString Ordem dos bytes Até 1500 bytes
Segmento de bytes (longo) []byte Nenhum Até 1 megabyte

Não indexado
Data e hora time.Time Cronológico
Ponto geográfico appengine.GeoPoint Por latitude,
depois longitude
Chave do armazenamento de dados *datastore.Key Por elementos de caminho
(tipo, identificador,
tipo, identificador...)
Chave do Blobstore appengine.BlobKey Ordem dos bytes

Também pode usar um struct ou um slice para agregar propriedades. Consulte a referência do Datastore para ver mais detalhes.

Quando uma consulta envolve uma propriedade com valores de tipos mistos, o Datastore usa uma ordenação determinística com base nas representações internas:

  1. Valores nulos
  2. Números de ponto fixo
    • Números inteiros
    • Datas e horas
  3. Valores booleanos
  4. Sequências de bytes
    • Fatias de bytes (curto)
    • String Unicode
    • Chaves do Blobstore
  5. Números de vírgula flutuante
  6. Pontos geográficos
  7. Chaves do Datastore

Uma vez que as fatias de bytes longas e as strings longas não são indexadas, não têm uma ordem definida.