Si sta progettando un'applicazione di chat con più stanze e cronologia dei messaggi persistente utilizzando Firestore. Come si dovrebbero modellare le stanze e i messaggi?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Creare una collection di rooms; ogni documento di room contiene una sottocollection i cui documenti contengono ciascuno un singolo messaggio..
Perché questa è la risposta
L'opzione corretta prevede la creazione di una collection "rooms" e, per ogni documento di stanza, una sottocollection per i messaggi. Questo è il modello più scalabile ed efficiente per Firestore. Le sottocollection sono ideali per dati correlati a un documento padre, come i messaggi di una stanza. Ogni messaggio è un documento separato, consentendo query efficienti, aggiornamenti granulari e gestione della cronologia senza limiti di dimensione per i singoli documenti. La prima opzione è errata perché memorizzare tutti i messaggi direttamente nel documento della stanza porterebbe a documenti di grandi dimensioni, superando i limiti di Firestore (1 MB) e rendendo le query e gli aggiornamenti inefficienti. La seconda opzione è una riformulazione imprecisa della risposta corretta, ma la struttura logica è la stessa. La quarta opzione, con una collection di messaggi separata di primo livello e riferimenti, complicherebbe le query per recuperare i messaggi di una specifica stanza e richiederebbe più letture per aggregare i dati, aumentando i costi e la latenza.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta