繁体   English   中英

无法删除 mongodb 条目

[英]Cannot DELETE mongodb entry

我正在使用 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. 因为,猫鼬将"id"提取为collections._id

在删除路由中,您将 slug 作为参数传递,而不是使用blog.slug

仅使用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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM