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.
|
- class alovelace
- name :
first : "Ada" last : "Lovelace" born : 1815 rooms : 0 : "Software Chat" 1 : "Famous Figures" 2 : "Famous SWEs"
|
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.
- Inconvénients : Les sous-collections sont difficiles à supprimer.
- 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.
|
- collections_bookmark science
- class software
name : "software chat"- collections_bookmarkusers
- classalovelace
first : "Ada" last : "Lovelace"
- classsride
first : "Sally" last : "Ride"
- class 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 sont adaptées aux relations plusieurs à plusieurs et fournissent des requêtes performantes au sein de chaque collection.
- Inconvénients : Organiser vos données de façon naturellement hiérarchique peut devenir de plus en plus complexe à mesure que votre base de données s'agrandit.
- 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.
|
- collections_bookmarkusers
- class alovelace
first : "Ada" last : "Lovelace" born : 1815
- class sride
first : "Sally" last : "Ride" born : 1951
- collections_bookmark rooms
- class software
- collections_bookmarkmessages
- classmessage1
from : "alovelace" content : "..."
- classmessage2
from : "sride" content : "..."
|
Vidéos
Pour en savoir plus, regardez les vidéos suivantes :