Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Na versão 7.0.2 do mongoose os metodos find, findById entre outros agora são feitas de forma assincrona certo?

static updateBook = async (req: Request, res: Response) => { const id = req.params.id; try{ await Books.findByIdAndUpdate(id, {$set: req.body}); }catch(err){ res.status(201).send('Atualizado com sucesso') } } seria uma má pratica colocar try e catch em todos os metodos

Se fizer desta forma não posso tratar o erro mas fazendo com try catch o codigo iria ficar muito verboso e repetitivo há alguma maneira de tratar o erro sem que o codigo fique verboso e repetido? static updateBook = async (req: Request, res: Response) => { const id = req.params.id; await Books.findByIdAndUpdate(id, {$set: req.body}); res.status(201).send('Atualizado com sucesso') }

1 resposta
solução!

Olá Felipe,

Sim, na versão 7.0.2 do Mongoose, os métodos find, findById, entre outros, agora são feitos de forma assíncrona.

Sobre a sua dúvida em relação ao uso de try-catch em todos os métodos, é uma boa prática tratar os erros em cada método. No entanto, isso pode deixar o código repetitivo e verboso.

Uma maneira de tratar os erros sem deixar o código muito extenso é utilizar um middleware de tratamento de erros. Dessa forma, você pode centralizar o tratamento de erros em um único lugar e deixar o código dos métodos mais limpo e enxuto.

Espero ter ajudado e bons estudos!