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

MongoDB Schema Design - Nouvelle collection ou référence ?

Présentation :

Dans votre cas, les deux variantes seront bonnes car la catégorie ne fait qu'énumérer et vous n'avez pas besoin de charger la catégorie pour afficher le cours, il vous suffit de créer une énumération et d'obtenir le nom de la catégorie par identifiant.

Mais par exemple, si vous avez une table db.users et que chaque utilisateur a une collection de db.courses, vous n'avez pas besoin de créer un document séparé, vous avez juste besoin de cours de collection imbriqués. Et c'est vraiment cool car en sql, vous devez créer une table séparée avec une référence à plusieurs.

Le seul grand avantage de la base de données de documents est que vous pouvez créer de gros documents avec des collections imbriquées et qu'il n'est pas nécessaire de joindre des tables.

Réponse :

Donc, dans votre cas, je suggère deux façons :

  1. Créer une énumération pour les catégories et obtenir le nom de la catégorie par identifiant (mais pas charger depuis mongo).
  2. Copiez simplement le nom de la catégorie dans le cours (mais le premier cas est préférable car si le nom de la catégorie a été modifié, vous devez mettre à jour chaque cours avec le nouveau nom de la catégorie).