Nic*_*ati 3 crud mongoose mongodb node.js 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, res, next) {
if (req.isAuthenticated()) {
return next();
}
res.redirect("/");
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11696 次 |
最近记录: |