小编Nic*_*ati的帖子

使用 Mongoose、Express 删除用户

我是 Express 和 MongoDB 的新手。我在 Node.js 中创建了一个小型 Web 应用程序,并使用 Express.js 和 Mongoose。我可以成功创建用户并让用户登录,但我无法让用户删除他们的帐户。

我的路由文件夹中有一个 user.js 文件,我在其中编写代码以进行注册、登录、删除等。这是 GitHub 上项目的链接(https://github.com/NicholasGati/shopping-购物车-2)。删除用户帐户的按钮位于 views/user/edit.hbs 中。我把按钮放在一个表格里。当我单击按钮时,用户不会被删除,并且由于某种原因我被重定向到“/”。注意:我的 routes/user.js 文件中的 '/:id' 变成了 '/user/:id'。

下面是 routes/user.js 文件中删除方法的代码:

router.delete('/:id', isLoggedIn, (req, res, next) => {
  User.findOneAndRemove({_id: req.params.id}, (err) => {
    if (err) {
      req.flash("error", err);
      return res.redirect("/user/edit");
    }

    req.flash("success", "Your account has been deleted.");
    req.logout();
    return res.redirect("/shop/coffee");
  });
});
Run Code Online (Sandbox Code Playgroud)

这是 views/user/edit.hbs 中的表格:

<form action="/user/{{user.id}}" method="delete">
  <div class="form-group">
    <button type="submit" class="btn btn-danger">Delete Account</button>
  </div>
</form>
Run Code Online (Sandbox Code Playgroud)

此外,这里是 isLoggedIn 函数:

function isLoggedIn(req, …
Run Code Online (Sandbox Code Playgroud)

crud mongoose mongodb node.js express

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

crud ×1

express ×1

mongodb ×1

mongoose ×1

node.js ×1