MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Quand intégrer des documents dans Mongo DB

La clé ici est moins sur "est-ce une relation ?" et plus sur "comment vais-je y accéder ?"

MongoDB n'est pas "anti-référence". MongoDB ne le fait pas ont les avantages des jointures, mais c'est le cas bénéficier des documents intégrés.

Tant que vous comprenez ces compromis, il est parfaitement juste d'utiliser des références dans MongoDB. Il s'agit vraiment de savoir comment vous prévoyez d'interroger ces objets.

Peut-être. Certaines choses à considérer.

  • Faire des games ont une valeur en dehors du contexte de l'user ?
  • Combien de games un seul user avez ?
  • Ce sont des games de nature transactionnelle ?
  • Comment allez-vous accéder aux games ? ? Avez-vous toujours besoin de tous les jeux d'un utilisateur ?

Si vous envisagez de créer des classements et qu'un utilisateur peut générer des centaines de documents de jeu, il est probablement juste d'avoir des jeux dans sa propre collection. Stocker dix mille instances de "jeu" à l'intérieur de chaque utilisateur n'est pas particulièrement utile.

Mais selon vos réponses à ce qui précède, vous pourriez vraiment aller dans les deux sens. Comme test décisif, j'essaierais d'exécuter des tâches Map/Reduce (c'est-à-dire créer un classement simple ) pour voir ce que vous pensez de la structure de vos données.