2
respostas

[Dúvida] Método PUT não altera o dado, mas exibe mensagem de sucesso.

Quando faço a requisição PUT recebo a mensagem de sucesso, mas quando faço um GET por Id percebe-se que nenhuma alteração ocorreu na base de dados.

Requisição PUT bem sucedida

Requisição GET demonstrando que a requisição PUT anterior não alterou a base de dados.

Vi em outros tópicos aqui no fórum que novas atualizações do mongoose não funcionam como esperado com funções callback, mas como estou usando a mesma versão que a professora (versão 6.2.6) não pode ser este o problema. Também vi que o type do atributo id usado para o model (String) é diferente do MongoDB (ObjectId), no entanto nem mesmo com essa alteração o PUT está funcionando. Definição do tipo de dado do atributo Id para mongoose.SchemaTypes.ObjectId

2 respostas

Olá Alex! Tudo bem?

Verifique se os dados que você está passando na requisição PUT estão corretos e se correspondem aos campos definidos no Schema do Mongoose.

Mas, aconselho que compartilhe comigo todos os arquivos do seu projeto, assim poderei ter uma ideia melhor sobre o que está acontecendo com o seu código.

Bons estudos!

Fico no aguardo e à disposição

Além da alteração que vc fez é necessário utilizar o async e await

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Fiz dessa forma e funcionou.