1 MB przekracza Firestore
Przechowuję historię podróży (tablicę-mapę) w Firestore. aplikacja ulega awarii (aplikacja Flutter) podczas próby zapisania dużej mapy tablicowej (długość tablicy może przekraczać 10000). a ponadto w tym samym dokumencie znajduje się ponad 30 pól.
to jest moja mapa (lista map).
Map<String, dynamic> toMap() => {
"latitude": latitude,
"longitude": longitude,
"accuracy": accuracy,
"altitude": altitude,
"speed": speed,
"speed_accuracy": speedAccuracy,
"heading": heading,
"time": time,
};
Czy jest jakieś rozwiązanie do przechowywania tego rodzaju tablicy w Firestore?
Odpowiedzi
Nie można przekroczyć maksymalnego rozmiaru dokumentu w Firestore.
Zamiast tego powinieneś podzielić każdą pozycję danych na osobny dokument, prawdopodobnie w podkolekcji zagnieżdżonej w dokumencie podstawowym.
Dokumenty firestore mają górny limit 1 MB, co nie oznacza, że programista musi wypełnić go do 1 MB. Cięższe dokumenty będą miały następujące wady:
- W niskiej sieci dokument się nie ładuje.
- Rzadko kiedy użytkownik potrzebuje dostępu do tak dużej ilości danych. Pojedynczy model danych nie może zaspokoić wszystkich potrzeb aplikacji, więc dane muszą zostać podzielone na wiele modeli danych.
- Za dodatkowe dane odpytywane będą wyższe opłaty za ruch wychodzący.
Musisz więc modelować swoją bazę danych, pamiętając o tych rzeczach. Jak wspomniał Doug, powinieneś podzielić zawartość na wiele dokumentów.