Yo personalmente contestado a esa pregunta, y sí, se refiere a una lista de elementos. En tu caso, si un artículo contiene el texto así como imágenes, de hecho voy a agregar todas las imágenes a la base avanzada de Almacenamiento y el texto a Firestore, y vincularlos como ya @FrankvanPuffelen menciona en su respuesta. Además de que, como @ToddKerpelman los estados en la siguiente respuesta:
No agregar imágenes a Firestore. Almacenamiento en la nube se supone que es para eso.
Pensando en su caso, para obtener "más" que la limitación, no hay otro (similar) enfoque. En lugar de tratar de guardar todos los datos en un único documento, me gustaría añadir que a varios documentos como este:
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
Y como se puede ver, cada artículo se compone de varias partes. Para obtener todos los artículos de la base de datos tiene que crear un collectionGroup de la consulta, que se parecen a esto:
db.collectionGroup("articleParts");
Para leer cada artículo de forma individual, simplemente concatenar todas las piezas de cada artículo de acuerdo a la articleId
y el número de pieza.
Por otro lado, si sólo quieres leer un solo artículo, crear una referencia que apunta a:
db.collection("allArticles").document($articleId).collection("articleParts");
Y hacer la misma operación que el anterior.
O usted puede utilizar:
db.collectionGroup("articleParts").whereEqualTo("articleId", someId);
Pero aquí, no te olvides de crear un índice.
De esta manera, usted puede crear tantos documentos como desee para un solo artículo. Para Android, he creado una biblioteca llamada FirestoreDocument-Android, que le ayudará a comprobar siempre el tamaño de un documento en contra de la máxima de 1 MiB (1.048.576 bytes) de la cuota. Así que, si el artículo es más grande que el máximo de prescripción, dividir el artículo y añadir el contenido en varios documentos.