Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

O comando get não está trazendo o exemplo cadastrado no Mongo

Dei uma olhada aqui no fórum e não encontrei a solução para este problema. Fiz todas as alterações, mas o body da requisição GET está vazio ao invés de retornar o exemplo cadastrado no Mongo.

Código do app com as alterações para fazer o get no MongoDBTerminal com a aplicação funcionando corretamente

Retorno do get no Postman com Status 200, mas o body vazio

Coleção cadastrada no Atlas

6 respostas

cara, se eu não me engano você tem que usar async e await no livros.find(), e colocar o livros.find() dentro de um tryCatch. ia ficar:

app.get("/livros", async (req, res) => {
    try {
        const data = await livros.find();
        res.status(200).json(data);
    } catch (error) {
        req.status(404).send(error);
    }
});

Obrigado Samuel. Não consegui implementar pq está ocorrendo um problema de SyntaxError que não consigo resolver, poderia me ajudar? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

o comando de export ta errado, é export dafault LivroController. Esse é o comando padrão para exportar uma coisa só. se você quiser exportar mais classes, você tem que colocá-las dentro de um objeto, e na hora de importar tem que importar dentro de um objeto também, por exemplo: export { LivroController }

e depois

import { LivroController } from "..."

ok, também faltava fechar a chave da classe. Agora está dando erro no catch Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Consegui resolver o problema no código, no catch estava req.status..... e deveria ser res.status.... E no Postman recebi uma mensagem de erro que informava que o usuário não tinha permissão para ler a base de dados, depois de corrigir isso no Atlas consegui o resultado demonstrado no curso. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

que bom, espero ter ajudado