2012-11-13 4 views
0

La documentation MongoId m'a dit que les relations nn should be used with caution Je comprends son mais n'ont pas une idée de comment résoudre mon problème en utilisant une meilleure façon MongoId pur:meilleure solution pour MongoId plusieurs à plusieurs

Un cours a de nombreux participants et un participant pouvaient participer avec de nombreux cours. Ne serait-il pas plus rapide de stocker le participant sur le modèle de cours et de faire une recherche sur tous les cours lorsque tous les cours d'un participant sont nécessaires?

Répondre

0

Je pense que c'est probablement un bon cas d'utilisation pour l'intégration de documents. Voir l'exemple de syntaxe sur la page d'accueil pour embeds_many et embedded_in:

Le principal inconvénient ici est que si vous avez des participants dans plus d'un cours, vous aurez des participants en double dans chacun de ces cours.

Assurez-vous de mettre un index sur les champs avec lesquels vous prévoyez d'effectuer vos recherches.

1

Votre modèle doit refléter vos cas d'utilisation. Une façon de le faire serait d'avoir un modèle pour les cours, un pour les participants et un troisième pour les étudiants en cours (avec un index unique sur le cours & pour éviter les doublons). De cette façon, il y a un seul modèle se référant à l'autre 2. Cela peut être ou ne pas être idéal en fonction de vos habitudes d'accès.

Questions connexes