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 seuluser
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.