我想删除数据库中的产品,但使用 .remove() 返回一个错误,即 product.remove 不是函数"/>
我想删除数据库中的产品,但使用 .remove() 返回一个错误,即 product.remove 不是函数
这是我的代码:-
const deleteProduct = asyncHandler(async (req, res) => {
const product = await Product.findById(req.params.id)
if (product) {
await product.remove()
res.json({ message: 'Product removed' })
} else {
res.status(404)
throw new Error('Product not found')
}
我也有删除用户的同样问题
const deleteUser = asyncHandler(async (req, res) => {
const user = await User.findById(req.params.id);
if (user) {
await user.remove();
res.json({ message: 'User removed' });
} else {
res.status(404);
throw new Error('User not found');
}
});
我该如何解决?我正在从一个教程中构建它,但那个人使用的是 mongoose v5.10.2,而我使用的是 v7 版本。 这是我的productModle
回答如下:.remove() 已弃用.
考虑改用
.deleteOne()
或.deleteMany()
方法。
以下是如何在您的示例中使用它
await User.deleteOne({ _id: req.params.id });
代替
await user.remove();
更多推荐
我想删除数据库中的产品,但使用 .remove() 返回一个错误,即 product.remove 不是函数
发布评论