Firestore in modalità Datastore (Datastore) supporta diversi tipi di dati per i valori delle proprietà. tra cui:
- Numeri interi
- Numeri con virgola mobile
- Corde
- Date
- Dati binari
Per un elenco completo dei tipi, consulta Proprietà e tipi di valori.
Proprietà e tipi di valori
I valori dei dati associati a un'entità sono costituiti da una o più proprietà. Ogni proprietà ha un nome e uno o più valori. Una proprietà può avere valori di più di un tipo e due entità possono avere valori di tipo diverso per la stessa proprietà. Le proprietà possono essere indicizzate o non indicizzate (le query che ordinano o filtrano su una proprietà P ignorano le entità in cui P non è indicizzata). Un'entità può avere al massimo 20.000 proprietà indicizzate.
Sono supportati i seguenti tipi di valori:
Tipo di valore | Tipi Go | Ordinamento | Note |
---|---|---|---|
Numero intero | int int8 int16 int32 int64 |
Numerico | Numero intero a 64 bit, firmato |
Numero con virgola mobile | float32 float64 |
Numerico | Doppia precisione a 64 bit, IEEE 754 |
Booleano | bool |
false <true |
|
Stringa (breve) | string |
Unicode |
Fino a 1500 byte |
Stringa (lunga) | string (con noindex ) |
Nessuna esperienza | Fino a 1 megabyte Non indicizzato |
Sezione byte (breve) | datastore.ByteString |
Ordine byte | Fino a 1500 byte |
Sezione byte (lunga) | []byte |
Nessuna esperienza | Fino a 1 megabyte Non indicizzato |
Data e ora | time.Time |
Cronologica | |
Punto geografico | appengine.GeoPoint |
Per latitudine, poi per longitudine |
|
Chiave Datastore | *datastore.Key |
In base agli elementi del percorso (kind, identifier, kind, identifier...) |
|
Chiave archivio BLOB | appengine.BlobKey |
Ordine byte |
Puoi anche utilizzare un struct
o un slice
per aggregare le proprietà. Consulta Riferimento Datastore per ulteriori dettagli.
Quando una query riguarda una proprietà con valori di tipi misti, Datastore utilizza un ordinamento deterministico basato sulle rappresentazioni interne:
- Valori null
- Numeri a virgola fissa
- Numeri interi
- Date e ore
- Valori booleani
- Sequenze di byte
- Sezioni di byte (breve)
- Stringa Unicode
- Chiavi dell'archivio BLOB
- Numeri con virgola mobile
- Punti geografici
- Chiavi Datastore
Poiché le sezioni di byte lunghi e le stringhe lunghe non sono indicizzate, non hanno un ordine definito.