Ricorda, quando strutturi i tuoi dati in Cloud Firestore, hai diverse opzioni:
- Documenti
- Raccolte multiple
- Sottoraccolte all'interno dei documenti
Considera i vantaggi di ciascuna opzione in relazione al tuo caso d'uso. In questa guida sono 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 si dispone di elenchi di dati semplici e fissi che si desidera conservare all'interno dei documenti, è facile impostare e semplificare 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, aumenta anche il documento, 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 elenco nidificato nel suo profilo.
| - class alovelace
- nome :
primo: "Ada" ultimo: "Lovelace" nato: 1815 camere : 0: "Chat software" 1: "Personaggi famosi" 2: "SWE famosi"
|
Sottoraccolte
È possibile creare raccolte all'interno di documenti quando si dispone di dati che potrebbero espandersi nel tempo.
- Vantaggi: man mano che le tue liste crescono, la dimensione del documento principale non cambia. Ottieni anche funzionalità di query complete sulle sottoraccolte e puoi emettere query del gruppo di raccolte tra le 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 di documenti di chat room.
| - collections_bookmark science
- software di class
nome: "chat software"- collections_bookmark utenti
- class alovelace
primo: "Ada" ultimo: "Lovelace"
- class sride
primo: "Sally" ultimo: "Ride" `
- astrofisica di class
|
Raccolte a livello di radice
Crea raccolte a livello principale del database per organizzare set di dati disparati.
- Vantaggi: le raccolte a livello di radice sono utili per le relazioni molti-a-molti e forniscono potenti query all'interno di ciascuna raccolta.
- Limitazioni: l' acquisizione di dati che sono naturalmente gerarchici potrebbe diventare sempre più complessa con la crescita del database.
- 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 alovelace
primo: "Ada" ultimo: "Lovelace" nato: 1815
- class sride
primo: "Sally" ultima corsa" nato nel 1951
- collections_bookmark stanze
- software di class
- collections_bookmark messaggi
- class 1
da: "alovelace" contenuto: "..."
- class 2
da: "sride" contenuto: "..."
|