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 anche l'ordinamento utilizzato quando si confrontano valori dello stesso tipo:
Tipo di dati | Ordinamento | Appunti |
---|---|---|
Vettore | Per valori degli elementi | Una matrice non può contenere un altro valore di matrice come uno dei suoi elementi. All'interno di una matrice, 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 ogni array. Se i primi elementi sono uguali, i secondi elementi vengono confrontati e così via fino a trovare una differenza. Se un array esaurisce gli elementi da confrontare ma è uguale fino a quel punto, l'array più corto viene ordinato prima dell'array 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; ogni ulteriore precisione viene arrotondata per difetto. |
Numero in virgola mobile | Numerico | Doppia precisione a 64 bit, IEEE 754. |
Punto geografico | Per latitudine, quindi longitudine | Al momento non è consigliabile utilizzare questo tipo di dati a causa dei limiti di query. In genere è meglio memorizzare latitudine e longitudine come campi numerici separati. Se la tua app necessita di semplici geoquery basate sulla distanza, consulta Geoquery |
Numero intero | Numerico | 64 bit, firmato |
Carta geografica | Per chiavi, poi per valore | Rappresenta un oggetto incorporato in un documento. Una volta indicizzato, è possibile eseguire query sui sottocampi. Se si esclude questo valore dall'indicizzazione, anche tutti i sottocampi vengono esclusi dall'indicizzazione. L'ordine 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 chiave-valore sono uguali, vengono confrontate le successive coppie chiave-valore 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: |
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 interi ea virgola mobile, ordinati in ordine numerico
- Valori di data
- Valori di stringa di testo
- Valori di byte
- Riferimenti di Cloud Firestore
- Valori in punti geografici
- Valori di matrice
- Valori della mappa