He creado una ruta para borrar un producto pero cuando trato de ejecutarla me sale el error .remove is not a function . No sé por qué ocurre esto o cómo solucionarlo, he buscado pero no he encontrado nada que funcione. Mi ruta se ve así:
orderRouter.delete( '/:id', isAuth, isAdmin, expressAsyncHandler(async (req, res) => { const order = await Orderline.findByPk(req.params.id); if (order) { const deletedOrder = await order.remove(); res.send({ message: 'Order Deleted', product: deletedOrder }); } else { res.status(404).send({ message: 'Order Not Found' }); } }) );Cualquier orientación/ayuda es muy apreciada.
En Sequelize ORM, Instance.remove() no es una función. Utilice Instance.destroy() en su lugar.
Consulte la documentación al respecto aquí
Entonces su código fijo sería:
orderRouter.delete( '/:id', isAuth, isAdmin, expressAsyncHandler(async (req, res) => { const order = await Orderline.findByPk(req.params.id); if (order) { const deletedOrder = await order.destroy(); res.send({ message: 'Order Deleted', product: deletedOrder }); } else { res.status(404).send({ message: 'Order Not Found' }); } }) );