删除路由,.remove 不是函数?
Delete route, .remove not a function?
我创建了一个删除产品的路径,但是当我尝试 运行 它时,我收到错误 .remove is not a function
。我不知道为什么会发生这种情况或如何解决它,我只看过没有发现任何有用的东西。我的路线如下所示:
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' });
}
})
);
非常感谢guidance/help。
在 Sequelize ORM 中,Instance.remove()
不是函数。请改用 Instance.destroy()
。
参考文档here
因此您的固定代码为:
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' });
}
})
);
我创建了一个删除产品的路径,但是当我尝试 运行 它时,我收到错误 .remove is not a function
。我不知道为什么会发生这种情况或如何解决它,我只看过没有发现任何有用的东西。我的路线如下所示:
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' });
}
})
);
非常感谢guidance/help。
在 Sequelize ORM 中,Instance.remove()
不是函数。请改用 Instance.destroy()
。
参考文档here
因此您的固定代码为:
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' });
}
})
);