Ricorda, quando strutturi i tuoi dati in Cloud Firestore, hai alcune opzioni diverse:
- Documenti
- Collezioni multiple
- Sottoraccolte all'interno dei documenti
Considera i vantaggi di ciascuna opzione in relazione al tuo caso d'uso. In questa guida vengono descritte alcune strutture di esempio per i dati gerarchici.
Dati nidificati nei documenti
Puoi annidare oggetti complessi come array o mappe all'interno dei documenti.
- Vantaggi: se disponi di elenchi di dati semplici e fissi che desideri conservare nei tuoi documenti, questo è facile da configurare e semplifica la struttura dei dati.
- Limitazioni: non è scalabile come altre opzioni, soprattutto se i dati si espandono nel tempo. Con elenchi più grandi o in crescita, anche il documento cresce, il che può portare a tempi di recupero dei documenti più lenti.
- Qual è un possibile caso d'uso? In un'app di chat, ad esempio, potresti memorizzare le 3 chat room visitate più di recente da un utente come un elenco nidificato nel suo profilo.
| - class amorosa
- nome :
primo: "Ada" ultimo: "Lovelace" nato: 1815 camere : 0: "Chat software" 1: "Personaggi famosi" 2: "SWE famosi"
|
Sottoraccolte
Puoi creare raccolte all'interno dei documenti quando disponi di dati che potrebbero espandersi nel tempo.
- Vantaggi: man mano che i tuoi elenchi crescono, la dimensione del documento principale non cambia. Ottieni inoltre funzionalità di query complete sulle sottoraccolte e puoi inviare query ai gruppi di raccolte tra sottoraccolte.
- Limitazioni: non è possibile eliminare facilmente le sottoraccolte.
- Qual è un possibile caso d'uso? Nella stessa app di chat, ad esempio, potresti creare raccolte di utenti o messaggi all'interno dei documenti della chat room.
| - collections_bookmark scienza
- software class
nome: "chat software"- collections_bookmark utenti
- class amorosa
primo: "Ada" ultimo: "Lovelace"
- cavalcata class
primo: "Sally" ultimo: "Cavalca"`
- class di astrofisica
|
Raccolte a livello di root
Crea raccolte al livello principale del tuo database per organizzare set di dati disparati.
- Vantaggi: le raccolte a livello di root sono utili per le relazioni molti-a-molti e forniscono query potenti all'interno di ciascuna raccolta.
- Limitazioni: ottenere dati naturalmente gerarchici potrebbe diventare sempre più complesso man mano che il database cresce.
- Qual è un possibile caso d'uso? Nella stessa app di chat, ad esempio, potresti creare una raccolta per gli utenti e un'altra per stanze virtuali e messaggi.
| - collections_bookmark utenti
- class amorosa
primo: "Ada" ultimo: "Lovelace" nato: 1815
- cavalcata class
primo: "Sally" ultima corsa" nato: 1951
- collections_bookmark stanze
- software class
- collections_bookmark messaggi
- messaggio class
da: "alovelace" contenuto : "..."
- messaggio class
da: "sride" contenuto : "..."
|