1
resposta

ERRO 500 - Todos os campos foram criados no Atlas tbm. Gostaria de tirar esta duvida por gentileza.

O código que esta no Atlas
_id
69c9673e4fa61420c8063666
titulo : "The Lord Of The Rings"
editora : "The Fake"
preco: 10
paginas: 200

O código que aparece no Postman

{
"message": "livros validation failed: paginas: Path paginas is required., preco: Path preco is required., editora: Path editora is required., titulo: Path titulo is required. - Falha ao cadastrar o livro."
}

1 resposta

Olá Renan! Como vai?

Pelo que você descreveu, parece que o erro está relacionado à validação dos campos ao tentar cadastrar um livro no MongoDB usando o Mongoose. O erro "validation failed" indica que o Mongoose está esperando que certos campos estejam presentes no req.body, mas eles não estão.

Aqui estão algumas sugestões para resolver o problema:

  1. Verifique o req.body: certifique-se de que o corpo da requisição (req.body) que você está enviando através do Postman contém todos os campos necessários (titulo, editora, preco, paginas). Você pode fazer isso verificando a aba "Body" no Postman e garantindo que os dados estejam no formato JSON correto. Por exemplo:

    {
        "titulo": "The Lord Of The Rings",
        "editora": "The Fake",
        "preco": 10,
        "paginas": 200
    }
    
  2. Middleware express.json(): certifique-se de que o middleware express.json() está sendo usado corretamente para que o Express possa interpretar o corpo da requisição como JSON. Isso deve estar configurado no seu arquivo de rotas ou no app.js.

  3. Modelo do mongoose: verifique se o modelo do Mongoose está configurado para exigir esses campos. Por exemplo, no seu esquema de livro, você pode ter algo assim:

    const livroSchema = new mongoose.Schema({
        titulo: { type: String, required: true },
        editora: { type: String, required: true },
        preco: { type: Number, required: true },
        paginas: { type: Number, required: true }
    });
    

    Se algum campo estiver faltando no req.body, o Mongoose irá gerar um erro de validação.

  4. Testar com dados mínimos: tente enviar uma requisição com apenas os campos obrigatórios para ver se o erro persiste. Isso pode ajudar a isolar o problema.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.