3
respostas

Busca por nome de ator não funcionou

Pessoal, boa tarde!

https://github.com/fhlaterza/API-Rest

no meu projeto, a busca por nome de Autor, não funcionou... Conseguem me ajudar a entender o por que? O resultado está vindo sempre como "[ ]".

Na aula, o prof. Antonio Evaldo, também teve o problema e resolveu com o async/await, mas comigo mesmo ajustando isso, não deu certo.

deixei até um console.log comentado, e nele, aparece o id... mas no "busca" ficou vazio...

3 respostas

Boa tarde @Fernando, no caso essa busca pelo nome do autor seria a listarAutores()?

class autorController {
  static async listarAutores(req, res, next) {
    try {
      const listaAutores = await autor.find({});
      req.resultado = listaAutores;
      next();
      //res.status(200).json(listaAutores);
    } catch (erro) {
      //res.status(500).json({message: `${erro.message} - falha na requisição`});
      next(erro);
    }
  }

você lembrou de usar o await quando foi fazer a chamada do autor.find()?

Bom dia, Cicero!

Muito obrigado pelo retorno, mas não é aí não...

Seria no processaBusca, que recebe o nome do autor como parâmetro...

if (nomeAutor) { const nAutor = await autor.findOne({nome: nomeAutor}); if (nAutor !== null) { busca.autor= nAutor._id; console.log(busca.autor=${busca.autor}); } else { busca = null; } }

Pesquisando: http://localhost:3000/livros/busca?nomeAutor=JRR Tolkien no Console.log, ele até informa que encontrou o código do autor: busca.autor=659da06753794b451e848d39

Mas no retorno, ele não traz nenhum livro... As outras consultas, por editora, titulo do livro, número de pagina estão tudo ok... Apenas essa que não consegui entender

O Professor também teve o mesmo resultado, no vídeo... Mas aí ele colocou o async/await resolveu... Fiz exatamente como ele (acho), mas no meu continuou com o retorno vazio...