Choisissez une structure de données

N'oubliez pas que lorsque vous structurez vos données dans Cloud Firestore, vous disposez de plusieurs options :

  • Documents
  • Plusieurs collections
  • Sous-collections dans les documents

Considérez les avantages de chaque option en fonction de votre cas d'utilisation. Quelques exemples de structures de données hiérarchiques sont présentés dans ce guide.

Données imbriquées dans les documents

Vous pouvez imbriquer des objets complexes comme des tableaux ou des cartes dans des documents.

  • Avantages : Si vous disposez de listes simples et fixes de données que vous souhaitez conserver dans vos documents, cela est facile à configurer et rationalise votre structure de données.
  • Limitations : cette option n'est pas aussi évolutive que les autres options, surtout si vos données augmentent au fil du temps. Avec des listes plus grandes ou qui s'allongent, le document s'agrandit également, ce qui peut ralentir les temps de récupération des documents.
  • Quel est un cas d'utilisation possible ? Dans une application de chat, par exemple, vous pouvez stocker les trois salons de discussion les plus récemment visités par un utilisateur sous forme de liste imbriquée dans son profil.
  • alovelace
    • nom :
      premier : "Ada"
      dernier : "Lovelace"
      né : 1815
      pièces :
      0 : "Conversation logicielle"
      1 : "Personnages célèbres"
      2 : "Les SWE célèbres"

Sous-collections

Vous pouvez créer des collections dans des documents lorsque vous disposez de données susceptibles de s'étendre au fil du temps.

  • Avantages : à mesure que vos listes s'allongent, la taille du document parent ne change pas. Vous bénéficiez également de fonctionnalités de requête complètes sur les sous-collections et vous pouvez émettre des requêtes de groupe de collections sur les sous-collections.
  • Limitations : vous ne pouvez pas supprimer facilement des sous-collections.
  • Quel est un cas d'utilisation possible ? Dans la même application de chat, par exemple, vous pouvez créer des collections d'utilisateurs ou de messages dans les documents de la salle de discussion.
  • science
    • logiciel
      nom : "logiciel chat"
      • utilisateurs
        • alovelace
          premier : "Ada"
          dernier : "Lovelace"
        • balade
          premier : "Sally"
          dernier : "Ride"`


    • d'astrophysique
      • ...

Collections au niveau racine

Créez des collections au niveau racine de votre base de données pour organiser des ensembles de données disparates.

  • Avantages : les collections au niveau racine conviennent aux relations plusieurs-à-plusieurs et fournissent des requêtes puissantes au sein de chaque collection.
  • Limites : obtenir des données naturellement hiérarchiques peut devenir de plus en plus complexe à mesure que votre base de données se développe.
  • Quel est un cas d'utilisation possible ? Dans la même application de chat, par exemple, vous pouvez créer une collection pour les utilisateurs et une autre pour les salles et les messages.
  • utilisateurs
    • alovelace
      premier : "Ada"
      dernier : "Lovelace"
      né : 1815
    • balade
      premier : "Sally"
      dernier tour"
      né : 1951
  • salles
    • logiciel
      • messages
        • message
          de : "alovelace"
          contenu : "..."
        • message
          de : "sride"
          contenu : "..."