2
respostas

autor não é um subdocumento?

Estava vendo a aula, porém fiquei com uma duvida:
Ao longo da formação, foi mostrado para fazer o autor se tornar um subdocumento dessa forma:

autor: {
type: autorSchema,
required: [true, "O(a) autor(a) é obrigatório!"]
}

Não seria correto na hora que realizar o filtro de busca colocar então:

if(nomeAutor) busca.autor.nome = { $regex: nomeAutor, $options: "i" };

2 respostas

Consegui resolver essa questão:

if(nomeAutor) busca["autor.nome"] = { $regex: nomeAutor, $options: "i" };

Como antes estavamos tentando acessar diretamente a propriedade nome dentro de autor, não funcionava por busca.autor não ter sido criado antes. Então vi que o mongoose entende que ao usar ["autor.nome"] ele cria uma chave onde verifica a propriedade nome dentro do objeto autor.

Oi Gustavo, tudo bem?

Que bom que conseguiu solucionar o problema que estava enfrentando!

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!