我正在使用 node.js/express/mongoose/mongodb 创建一个博客应用程序。我正在创建一个删除路径,这样我就可以从我的管理面板中删除帖子。我也在使用方法覆盖来删除。每当我按下我创建的删除帖子的按钮时,我都会遇到一条错误消息,提示无法删除博客/(此处为博客名称)。不确定为什么它不起作用,我们将不胜感激任何帮助。
这里是删除路由代码
//DELETE BLOG ROUTE
app.delete("/blogs/:slug", function(req, res){
//DESTROY BLOG
Blog.findOneAndRemove({ slug: req.params.slug}, function(err){
if(err){
res.redirect("/admin");
} else {
res.redirect("/admin");
}
})
});
这是我要在我的管理面板上删除的按钮
<div class="d-flex justify-content-between">
<a href="/blogs/<%= blog.slug %>" class="btn btn-primary">View Post</a>
<a href="/blogs/<%= blog.slug%>/edit" class="btn btn-success">Edit Post</a>
<form action="/blogs/<%= blog.slug %>?_method=DELETE" method="POST">
<button class="btn btn-danger"><i class="far fa-trash-alt"></i> Post</button>
</form>
</div>
最佳答案
使用 blog._slug
而不是 blog.slug.
因为,mongoose 将 "id"
提取为 collections._id
关于javascript - 无法删除 mongodb 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54226851/