MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB Schema Design - Nova Coleção ou Referência?


Introdução:

No seu caso ambas as variantes serão boas porque categoria apenas enumeração e você não precisa carregar categoria para exibir o curso, você só precisa criar alguma enumeração e obter o nome da categoria por id.

Mas, por exemplo, se você tiver a tabela db.users e cada usuário tiver uma coleção de db.courses, você não precisará criar um documento separado, apenas precisará de cursos de coleção aninhada. E é muito legal porque em sql você precisa criar uma tabela separada com uma para muitas referências.

O único grande benefício do banco de dados de documentos é que você pode criar documentos grandes com coleções aninhadas e sem necessidade de unir tabelas.

Resposta:

Então, no seu caso, sugiro duas maneiras:
  1. Crie enumeração para categorias e obtenha o nome da categoria por id (mas não carregue do mongo).
  2. Basta copiar o nome da categoria no curso (mas no primeiro caso é melhor porque, caso o nome da categoria tenha sido alterado, você precisa atualizar cada curso com um novo nome de categoria).