1
resposta

[Sugestão] Dificuldade com o método GET para quem instalou a versão mais nova do mongoose

Na aula a instalação do mongoose é feita na versão 6.2, no momento em que escrevo este post a versão é 7.0 e houveram algumas mudanças na sintaxe do código.

Para conseguir realizar o GET é necessário informar que a função é assíncrona, aguardar a resposta com o await e só então com o método res.json() carregar o resultado.

app.get('/livros', async (req,res) => { const result = await livros.find(); return res.status(200).json(result) }) Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Após fazer isso o código irá parar de dar erro, porém irá retornar um array vazio. No momento que vc criou o database lá no mongo vc inseriu o schema 'Livros', e na aula digitamos 'livros' gerando assim um segundo schema em ''test''.

Para resolver este problema, basta inserir os dados nesta neste novo schema (''livros) como foi feito anteriormente. Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEspero ter ajudado!

1 resposta

Olá Joffre, muito obrigada por compartilhar sua solução conosco. Realmente, com a atualização da versão do Mongoose, algumas mudanças na sintaxe do código foram necessárias.

A solução que você encontrou está correta. Você lembrou que:

  • Ao utilizar funções assíncronas, devemos aguardar a resposta com o await antes de executar o próximo comando.

  • Quanto ao retorno do array vazio, é importante verificar se o nome do schema está correto e se os dados foram inseridos corretamente.

  • Ao criar um novo schema, devemos utilizá-lo em todas as operações que envolvem esse modelo de dados.

Muito obrigada novamente, com certeza vai ajudar outros alunos no fórum!