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

Relations intégrées ou référencées

Dans votre cas, je conseillerais d'utiliser des données référencées. Parce que je suppose que vous devez manipuler chacune de ces collections par elle-même (vous devez être capable de modifier/supprimer/mettre à jour des "produits" par _id, et de faire d'autres requêtes compliquées, ce qui est beaucoup plus facile et efficace lorsque vous avez des le recueil).

En même temps j'en stockerais quelques données intégrées complètes dans la collection Utilisateurs, uniquement pour accélérer l'affichage sur le navigateur du visiteur. Supposons que vous ayez une page d'utilisateur sur laquelle vous souhaitez afficher le profil de l'utilisateur, les 5 meilleurs marchés et les 20 meilleurs produits. Vous pouvez intégrer ces derniers top-5 et top-20 au document de l'utilisateur et mettre à jour ces objets intégrés lorsqu'il y a de nouveaux marchés/produits. Dans ce cas, lorsque vous affichez la page de l'utilisateur, vous devez effectuer une seule requête auprès de MongoDB. Cela fonctionne donc comme cache. Si le visiteur a besoin de voir plus de produits, il passe à la page suivante "Produits" et interroge une collection "Produits" distincte dans MongoDB.