Olá, Kaue! Como vai?
O erro Cannot read properties of null (reading '_id')
ocorre quando o código tenta acessar o _id
de um autor que não foi encontrado no banco de dados. Isso pode acontecer se o ID do autor passado na requisição não existir.
Aqui estão algumas sugestões para resolver o problema:
Verifique o ID do Autor: Certifique-se de que o ID do autor que está sendo passado na requisição realmente existe no banco de dados. Você pode fazer isso verificando diretamente no banco ou usando uma ferramenta como o MongoDB Compass.
Validação do Autor: Antes de tentar acessar o _id
do autor, verifique se o autor foi encontrado. Você pode adicionar uma verificação no seu código:
const autorEncontrado = await autor.findById(novoLivro.autor);
if (!autorEncontrado) {
return res.status(404).json({ message: "Autor não encontrado" });
}
Mensagem de Erro: Para melhorar as mensagens de erro, você pode ajustar o bloco catch
para fornecer mais detalhes sobre o erro:
catch (erro) {
res.status(500).json({ message: `Erro interno: ${erro.message} - Falha ao cadastrar livro` });
}
Verifique a Importação: No livroController.js
, certifique-se de que o autor está sendo importado corretamente:
import { autor } from "../models/Autor.js";
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.