1 Mo dépasse le firestore

Oct 17 2020

Je stocke l'historique des trajets (array-map) sur Firestore. l'application plante (application Flutter) lors de la tentative de stockage d'une grande carte de tableau (la longueur du tableau peut être supérieure à 10 000). et il y a aussi plus de 30 champs sur le même document.

c'est ma carte (liste des cartes).

  Map<String, dynamic> toMap() => {
        "latitude": latitude,
        "longitude": longitude,
        "accuracy": accuracy,
        "altitude": altitude,
        "speed": speed,
        "speed_accuracy": speedAccuracy,
        "heading": heading,
        "time": time,
      };

Existe-t-il une solution pour stocker ce type de baie sur le firestore?

Réponses

1 DougStevenson Oct 16 2020 at 22:15

Il n'est pas possible de dépasser la taille maximale d'un document dans Firestore.

Ce que vous devez faire à la place est de diviser chaque élément de données dans son propre document, probablement dans une sous-collection imbriquée sous un document principal.

Harkal Oct 16 2020 at 22:48

Les documents firestore ont une limite supérieure de 1 Mo de stockage, ce qui ne signifie pas que le développeur doit le remplir jusqu'à 1 Mo. Les documents plus lourds auront les inconvénients suivants:

  1. En réseau faible, le document ne se chargera pas.
  2. Il n'y a guère de cas où l'utilisateur doit accéder à autant de données. Un modèle de données unique ne peut pas répondre à tous les besoins d'une application, les données doivent donc être divisées en plusieurs modèles de données.
  3. Il y aura plus de frais de sortie pour les données supplémentaires interrogées.

Vous devez donc modéliser votre base de données en gardant ces choses à l'esprit. Comme mentionné par Doug, vous devez diviser votre contenu en plusieurs documents.