Eu personal am răspuns la întrebarea asta, și da, se referă la o listă de elemente. În cazul tău, dacă un articol conține text, precum și de imagini, voi adăuga, într-adevăr toate imaginile la Baza de Depozitare și textul să Firestore, și link-ul de ele ca deja @FrankvanPuffelen menționat în răspunsul său. În afară de asta, ca @ToddKerpelman membre în următorul răspuns:
Nu adăugați imagini pentru a Firestore. Nor de Stocare este destinat pentru asta.
Gândire despre cazul dumneavoastră de utilizare, pentru a obține "peste" această limitare, există un alt (similare) abordare. În loc de a încerca pentru a salva toate datele într-un singur document, aș adăuga la mai multe documente, cum ar fi aceasta:
Firestore-root
|
--- articles (collection)
|
--- $articleId (document)
|
--- articleParts (collection)
|
--- $firestoreRandomId
| |
| --- text: "Text of the article"
| |
| --- part: 1
| |
| --- articleId: $articleId
|
--- $firestoreRandomId
|
--- text: "Remaining text of the article"
|
--- part: 2
|
--- articleId: $articleId
Și după cum puteți vedea, fiecare articol este format din mai multe părți. Pentru a obține toate articolele din baza de date, trebuie să creați o collectionGroup de interogare, care arata ca aceasta:
db.collectionGroup("articleParts");
Pentru a citi fiecare articol individual, pur și simplu înlănțui toate părțile pentru fiecare articol potrivit articleId
și numărul parte.
Pe de altă parte, dacă doriți doar pentru a citi un singur articol, de a crea o referință care indică:
db.collection("allArticles").document($articleId).collection("articleParts");
Și de a face aceeași operațiune ca mai sus.
Sau puteți folosi:
db.collectionGroup("articleParts").whereEqualTo("articleId", someId);
Dar aici, nu uita, de asemenea, pentru a crea un index.
În acest fel, puteți crea cât mai multe documente, după cum doriți pentru un singur articol. Pentru Android, am creat o bibliotecă numită FirestoreDocument-Android, care vă va ajuta să verificați întotdeauna dimensiunea de un document împotriva maximă de 1 MiB (1,048,576 bytes) contingent. Deci, dacă articolul este mai mare decât limita maximă, split articol și adăugați conținutul în mai multe documente.