Catch up on highlights from Firebase at Google I/O 2023. Learn more

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
  • Collectes multiples
  • Sous-collections dans les documents

Tenez compte des 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 tels que des tableaux ou des cartes dans des documents.

  • Avantages : Si vous avez des 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 d'autres options, en particulier si vos données augmentent avec le temps. Avec des listes plus grandes ou croissantes, le document grandit également, ce qui peut entraîner des temps de récupération de document plus lents.
  • Quel est un cas d'utilisation possible ? Dans une application de chat, par exemple, vous pouvez stocker les 3 derniers salons de chat 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 : "Chat logiciel"
      1 : "Personnages célèbres"
      2 : "SWE célèbres"

Sous-collections

Vous pouvez créer des collections dans des documents lorsque vous avez des données susceptibles de s'étendre avec le temps.

  • Avantages : Au fur et à mesure que vos listes grandissent, 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 facilement supprimer 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 chat.
  • science
    • logiciel
      nom : "logiciel de chat"
      • utilisateurs
        • alovelace
          premier : "Ada"
          dernier : "Lovelace"
        • balade
          premier : "Sally"
          dernier : "Ride"`


    • astrophysique
      • ...

Collections de 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 de niveau racine conviennent aux relations plusieurs-à-plusieurs et fournissent des requêtes puissantes au sein de chaque collection.
  • Limitations : l'obtention de 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 salons et les messages.
  • utilisateurs
    • alovelace
      premier : "Ada"
      dernier : "Lovelace"
      né : 1815
    • balade
      premier : "Sally"
      dernier tour"
      né : 1951
  • salles
    • logiciel
      • messages
        • message
          de : "lovelace"
          contenu : "..."
        • message
          de : "sride"
          contenu : "..."