1 MB przekracza Firestore

Oct 17 2020

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

1 DougStevenson Oct 16 2020 at 22:15

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.

Harkal Oct 16 2020 at 22:48

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:

  1. W niskiej sieci dokument się nie ładuje.
  2. 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.
  3. 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.