Questa pagina descrive i tipi di dati supportati da Cloud Firestore.
Tipi di dati
La tabella seguente elenca i tipi di dati supportati da Cloud Firestore. Descrive inoltre l'ordinamento utilizzato quando si confrontano valori dello stesso tipo:
Tipo di dati | Ordinamento | Appunti |
---|---|---|
Vettore | Per valori degli elementi | Un array non può contenere un altro valore di array come uno dei suoi elementi. All'interno di un array gli elementi mantengono la posizione loro assegnata. Quando si ordinano due o più array, gli array vengono ordinati in base ai valori degli elementi. Quando si confrontano due array, vengono confrontati i primi elementi di ciascun array. Se i primi elementi sono uguali, si confrontano i secondi e così via finché non si trova una differenza. Se un array esaurisce gli elementi da confrontare ma è uguale fino a quel punto, l'array più corto viene ordinato prima di quello più lungo. Ad esempio, |
Booleano | false < true | — |
Byte | Ordine dei byte | Fino a 1.048.487 byte (1 MiB - 89 byte). Solo i primi 1.500 byte vengono considerati dalle query. |
Data e ora | Cronologico | Se archiviato in Cloud Firestore, preciso solo al microsecondo; qualsiasi precisione aggiuntiva viene arrotondata per difetto. |
Numero in virgola mobile | Numerico | Doppia precisione a 64 bit, IEEE 754 . |
Punto geografico | Per latitudine, poi longitudine | Al momento non consigliamo di utilizzare questo tipo di dati a causa delle limitazioni nelle query. In genere è meglio memorizzare latitudine e longitudine come campi numerici separati. Se la tua app necessita di semplici geoquery basate sulla distanza, vedi Geoquery |
Numero intero | Numerico | 64 bit, firmato |
Carta geografica | Per chiavi, quindi per valore | Rappresenta un oggetto incorporato in un documento. Una volta indicizzato, puoi eseguire query sui sottocampi. Se escludi questo valore dall'indicizzazione, anche tutti i sottocampi verranno esclusi dall'indicizzazione. L'ordinamento delle chiavi è sempre ordinato. Ad esempio, se scrivi I campi della mappa vengono ordinati per chiave e confrontati per coppie chiave-valore, confrontando prima le chiavi e poi i valori. Se le prime coppie di valori-chiave sono uguali, vengono confrontate le coppie di valori-chiave successive e così via. Se due mappe iniziano con le stesse coppie chiave-valore, viene considerata la lunghezza della mappa. Ad esempio, le seguenti mappe sono in ordine crescente: |
NaN | Nessuno | — |
Nullo | Nessuno | — |
Riferimento | Per elementi del percorso (raccolta, ID documento, raccolta, ID documento...) | Ad esempio, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] . |
Stringa di testo | Ordine dei byte con codifica UTF-8 | Fino a 1.048.487 byte (1 MiB - 89 byte). Solo i primi 1.500 byte della rappresentazione UTF-8 vengono considerati dalle query. |
Ordinamento del tipo di valore
Quando una query coinvolge un campo con valori di tipi misti, Cloud Firestore utilizza un ordinamento deterministico basato sulle rappresentazioni interne. L'elenco seguente mostra l'ordine:
- Valori nulli
- Valori booleani
- Valori NaN
- Valori interi e a virgola mobile, ordinati in ordine numerico
- Valori della data
- Valori della stringa di testo
- Valori in byte
- Riferimenti Cloud Firestore
- Valori di punti geografici
- Valori della matrice
- Valori della mappa