1 MB excede o firestore
Estou armazenando o histórico de viagens (mapa de matriz) no firestore. o aplicativo falha (aplicativo Flutter) ao tentar armazenar um grande mapa de matriz (o comprimento da matriz pode ser superior a 10.000). e também existem mais de 30 campos no mesmo documento.
este é o meu mapa (lista do mapa).
Map<String, dynamic> toMap() => {
"latitude": latitude,
"longitude": longitude,
"accuracy": accuracy,
"altitude": altitude,
"speed": speed,
"speed_accuracy": speedAccuracy,
"heading": heading,
"time": time,
};
Existe alguma solução para armazenar este tipo de array no firestore?
Respostas
Não é possível exceder o tamanho máximo de um documento no Firestore.
Em vez disso, o que você deve fazer é dividir cada item de dados em seu próprio documento, provavelmente em uma subcoleção aninhada em um documento principal.
Os documentos do firestore têm um limite superior de 1 MB de armazenamento, o que não significa que o desenvolvedor tenha que preenchê-lo até 1 MB. Documentos mais pesados terão as seguintes desvantagens:
- Em rede baixa, o documento não carrega.
- Dificilmente há um caso em que o usuário precise acessar tantos dados. O modelo de dados único não pode acomodar todas as necessidades de um aplicativo, portanto, os dados devem ser divididos em vários modelos de dados.
- Haverá mais cobrança de saída para dados extras sendo consultados.
Portanto, você deve modelar seu banco de dados mantendo essas coisas em mente. Conforme mencionado por Doug, você deve dividir seu conteúdo em vários documentos.