javascript - 通过单击按钮通过 Mongoose 和 Express 删除文档
问题描述
我尝试通过 Express 和 mongoose 删除连接的帐户。当用户单击按钮(确认他愿意删除他的帐户)时,我希望他的帐户从我的用户的收藏中删除。
我的 HTML:
<div class="button__remove">
<button class="modal__submit modal__remove--ann" id="btn-remove">Annuler</button>
<button class="modal__submit modal__remove--conf" onclick="location.href='/fr/supprimercompte'">Supprimer</button>
</div>
我的快递代码:
router.get('/supprimercompte', ensureAuthenticated, (req, res) => {
User.findOneAndDelete({user: req.user, id: req._id}, (err, tasks) => {
if (err) {
res.status(500).send(err);
res.redirect('/fr/compte')
} else {
const response = {
message: "Todo successfully deleted",
user: req.user
};
res.status(200).send(response);
}
});
})
编辑:现在我res.send
的正是我想要的(完整的用户对象),但它不会从我的 mongoDB 数据库中删除!问题是什么 ?
解决方案
您应该将 id 路由到路由,/:id
然后id
从客户端发送到路由
router.get('/supprimercompte/:id', (req, res) => {
User.findByIdAndDelete(req.params.id, (err) => {
if(err){
res.redirect("/fr/compte");
} else {
res.redirect("/fr");
}
});
})
对于客户端
`/fr/supprimercompte/${id}`
推荐阅读
- redux - Redux 工具包 -selectById
- php - 是否可以编辑 json 数组的元素以容纳其他数据/元素?
- javascript - 始终打开 Bootstrap 模式,直到单击窗口关闭按钮
- sql - 使用更多 IN 数据时休眠 IN 子句抛出错误
- javascript - 让用户知道我的网站使用 cookie 和本地存储来遵守 GDPR
- mongodb - 给定 id 不重复的 MongoDB 计数
- nim-lang - 如何在 Nim 中将变量增加 1
- python - TypeError: on_voice_state_update() 接受 2 个位置参数,但给出了 3 个
- c# - 文本框双向多重绑定需要 Path 或 XPath
- asp.net-mvc - 为 mvc asp .net 3.1 应用程序配置 IIS 的问题