Úvod:
Ve vašem případě budou obě varianty dobré, protože kategorie je pouze výčet a pro zobrazení kurzu nepotřebujete načíst kategorii, stačí vytvořit nějaký výčet a získat název kategorie podle id.
Ale například, pokud máte tabulku db.users a každý uživatel má kolekci db.courses, nemusíte vytvářet samostatný dokument, potřebujete pouze vnořené kurzy kolekce. A je to opravdu skvělé, protože v SQL potřebujete vytvořit samostatnou tabulku s jedním až mnoha odkazy.
Jednou velkou výhodou databáze dokumentů je to, že můžete vytvářet velké dokumenty s vnořenými kolekcemi a není třeba spojovat tabulky.
Odpověď:
Takže ve vašem případě navrhuji dva způsoby:
- Vytvořte výčet kategorií a získejte název kategorie podle id (ale nenačítat z mongo).
- Stačí zkopírovat název kategorie v kurzu (Ale první případ je lepší, protože v případě, že by se název kategorie změnil, je potřeba aktualizovat každý kurz novým názvem kategorie).