Javascript 无法删除mongodb条目

Javascript 无法删除mongodb条目,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我正在使用node.js/express/mongoose/mongodb创建一个博客应用程序。我正在创建一个删除路由,这样我就可以从我的管理面板中删除帖子。我还使用方法重写来删除。每当我按下我创建的用于删除帖子的按钮时,我都会遇到一个错误,即无法删除博客/(此处为博客名称)。不知道为什么它不起作用,任何帮助都将不胜感激 这是删除路线代码 //DELETE BLOG ROUTE app.delete("/blogs/:slug", function(req, res){ //DESTROY

我正在使用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.\u slug
而不是
blog.slug.

因为mongoose将
“id”
提取为
集合。在删除路由中,您将slug作为参数传递,而不是使用blog.slug

只能使用段塞。例如:

<div class="d-flex justify-content-between">
  <a href="/blogs/<%=slug %>" class="btn btn-primary">View Post</a>
  <a href="/blogs/<%=slug%>/edit" class="btn btn-success">Edit Post</a>
  <form action="/blogs/<%=slug %>?_method=DELETE" method="POST">
    <button class="btn btn-danger"><i class="far fa-trash-alt"></i> Post</button>
  </form>
</div>

邮递

元素中缺少一个引号。另外,你提到的错误来自哪里?请张贴所有相关代码。对不起,我没有看到我丢失的报价。哦,对不起,我实际上误读了。但是为什么你要写一篇文章而不是删除,并将
?\u method=DELETE
添加到URL?如何达到正确的路线?我相信Aioros是正确的-您需要将method=“POST”更改为method=“DELETE”,我不确定_method=“DELETE”查询参数的用途。看起来应该是我正在使用方法覆盖,这就是为什么查询看起来像这样。