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 di 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 ogni array. Se i primi elementi sono uguali, vengono confrontati i secondi elementi e così via finché non viene trovata 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; qualsiasi 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 delle limitazioni delle query. In genere è preferibile memorizzare la latitudine e la longitudine come campi numerici separati. Se la tua app necessita di geoquery semplici basate sulla distanza, vedi Query geografiche |
Numero intero | Numerico | 64 bit, firmato |
Carta geografica | Per chiavi, quindi per valore | Rappresenta un oggetto incorporato in un documento. Una volta indicizzato, puoi interrogare i sottocampi. Se si esclude questo valore dall'indicizzazione, anche tutti i sottocampi vengono 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 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: |
NaN | Nessuno | — |
Nullo | Nessuno | — |
Riferimento | Per elementi di 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 in virgola mobile, ordinati in ordine numerico
- Valori data
- Valori stringa di testo
- Valori in byte
- Riferimenti a Cloud Firestore
- Valori dei punti geografici
- Valori di matrice
- Valori della mappa