Je suis assez nouveau pour MongoDB et le mouvement NoSQL, si vide avec moi. Jusqu'à présent, je suis venu à travers trois différentes façons de « joindre » collections:MongoDB - DBRefs vs Map/Réduire vs Références Manuel
- garder manuellement une référence « foreign-key-ESK » à la collection que vous souhaitez joindre à votre collection cible
- Utilisez DBRefs
- Ecrire une série de fonctions Map/Reduce pour maintenir la relation
quelqu'un peut-il expliquer les avantages et quand je dois chacun? Ma première impression est que Map/Reduce est pour les grands ensembles fréquemment utilisés et les deux autres sont principalement destinés aux petites/rapides requêtes.
Je dirais que vous ne devriez jamais maintenir une jointure à travers un MR et DBRef est juste une autre version du premier, il n'y a pas de différence, sauf DBRef détient également un nom de collection – Sammaye
Intéressant. Connaissez-vous un moyen d'optimiser les références afin que vous n'ayez pas besoin de faire une requête supplémentaire du client pour récupérer l'enregistrement référencé? Est-il possible de faire cela sur le serveur avant que l'ensemble de données ne soit retourné? – Adam
Non, mongodb n'a pas de résolution de référencement côté serveur – Sammaye