Eu, pessoalmente, respondeu a essa pergunta, e sim, refere-se a uma lista de itens. No seu caso, se um artigo contiver texto, bem como fotos, eu vou, de fato, adicionar todas as imagens para a Firebase de Armazenamento e o texto para o Firestore, e vinculá-los como já @FrankvanPuffelen mencionado na sua resposta. Além de que, como @ToddKerpelman estados a seguinte resposta:
Não adicionar imagens para o Firestore. Armazenamento em nuvem é destinado para isso.
Pensando sobre o seu caso de uso, para obter "mais" que limitação, há outro (semelhante) de abordagem. Em vez de tentar salvar todos os dados em um único documento, eu gostaria de adicioná-lo para vários 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
E como você pode ver, cada artigo é composto de várias partes. Para obter todos os artigos da base de dados para criar um collectionGroup de consulta, que se parecem com isto:
db.collectionGroup("articleParts");
Para ler cada artigo individualmente, basta concatenar todas as peças para cada artigo de acordo com o articleId
e o número de peça.
Por outro lado, se você só quer ler um único artigo, criar uma referência que aponta para:
db.collection("allArticles").document($articleId).collection("articleParts");
E fazer a mesma operação acima.
Ou você pode usar:
db.collectionGroup("articleParts").whereEqualTo("articleId", someId);
Mas aqui, não se esqueça de criar um índice.
Desta forma, você pode criar quantos documentos quiser para um único artigo. Para o Android, eu criei uma biblioteca chamada FirestoreDocument-o Android, que irá ajudá-lo sempre verifique o tamanho de um documento contra o máximo de 1 MiB (1.048.576 bytes) de cota. Então, se o artigo for maior do que a limitação máxima, dividir o artigo e adicionar o conteúdo de vários documentos.