1
resposta

Problemas de duplicidade de dados do autor na abordagem executada na aula 2

Esta modelagem indicada na segunda aula é estranha, pois terei que ficar cadastrando o Nome, Descrição, Email e Senha do autor para cada um dos Artigos que ele criar, o que é uma ideia muito errada, pois poderei ter em alguns artigos os dados numa versão 1 e em dado momento ter versões diferentes em artigos posteriores.

Sei que não estamos em um banco relacional, mas este erro de modelagem pode causar mais malefícios que benefícios e você tem que ficar repetindo informações que são mais estáveis, sendo que cada artigo tem as suas características específicas e só precisaram ser alteradas em uma futura atualização.

No MongoDB não há como manter esta estrutura Autor ==> Artigo (1 --> N) e otimizar esta pesquisa.

Na primeira aula, a pesquisa retornou todos os dados, mesmo indicando no find uma "slug" específica e agora na aula 2, você vem com o comando ".explain" para verificar como foi feito a pesquisa.

1 resposta

Olá Marcélio, tudo bem?

Realmente você tem razão, é bem mais trabalhoso ter que ficar sempre inserindo as informações dos autores para cada artigo novo que for criado por ele, mas na aula quatro o instrutor faz a separação das informações dos autores dos seus artigos criando coleções separadas para cada um, e criando nos documentos dos artigos uma referência para cada autor, assim não é mais necessário inserir sempre todos os dados dos autores. Neste caso o professor esta priorizando a leitura dos dados, então a modelagem utilizada neste curso não é a adequada caso priorize o armazenamento dos dados realmente. Em relação ao retorno dos dados da primeira aula, como os artigos são subdocumentos dos autores, ele retorna todo o documento e por este motivo foi retornado todos os dados, e o .explain foi utilizado para mostrar como é feita a busca nos documentos e neste caso só foi retornado os documentos nos quais, na categoria havia programação.

Agradecemos pelo seu feedback Marcélio, continue assim e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software