Structurer les données

Lorsque vous structurez vos données dans Firestore, plusieurs options s'offrent à vous:

  • Documents
  • Collections multiples
  • Sous-collections au sein de documents

Examinez les avantages de chaque option en fonction de vos besoins. Ce guide présente quelques exemples de structures de données hiérarchiques.

Données imbriquées dans des documents

Vous pouvez imbriquer des objets complexes comme des tableaux ou des cartes au sein de documents.

  • Avantages : Cette option est facile à mettre en œuvre et permet de simplifier la structure des données, si vous disposez de listes de données simples et fixes que vous souhaitez conserver dans vos documents.
  • Inconvénients : Cette option n'est pas aussi évolutive que les autres, en particulier si vos données s'étendent au fil du temps. Plus les listes s'allongent ou s'agrandissent, plus la taille du document s'accroît, ce qui peut ralentir la récupération des documents.
  • Exemple de cas d'utilisation Dans une application de chat, vous pouvez utiliser une liste imbriquée dans le profil pour stocker les trois derniers salons de discussion visités par un utilisateur.
  • alovelace
    • name :
      first : "Ada"
      last : "Lovelace"
      born : 1815
      rooms :
      0 : "Software Chat"
      1 : "Famous Figures"

Sous-collections

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

  • Avantages : La taille du document parent reste stable à mesure que vos listes s'agrandissent. Vous bénéficiez également de l'ensemble des fonctionnalités de requête sur les sous-collections et vous pouvez envoyer des requêtes de groupe de collections sur plusieurs sous-collections.
  • Limites:Il est difficile de supprimer des sous-collections.
  • Exemple de cas d'utilisation Dans la même application de chat, vous pouvez créer des collections d'utilisateurs ou de messages dans les documents des salons de discussion.
  • science
    • software
      name : "software chat"
      • users
        • alovelace
          first : "Ada"
          last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"


    • astrophysics
      • ...

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.
  • Inconvénients:Obtenir des données naturellement hiérarchisées peut devenir de plus en plus complexe à mesure que votre base de données se développe.
  • Exemple de cas d'utilisation Dans la même application de chat, vous pouvez créer une collection pour les utilisateurs et une autre pour les salons de discussion et les messages.
  • users
    • alovelace
      first : "Ada"
      last : "Lovelace"
      born : 1815
    • sride
      first : "Sally"
      last : "Ride"
      born : 1951
  • rooms
    • software
      • messages
        • message1
          from : "alovelace"
          content : "..."
        • message2
          from : "sride"
          content : "..."

Vidéos

Pour en savoir plus, regardez les vidéos suivantes :