首页 > 解决方案 > 通过单击按钮通过 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 数据库中删除!问题是什么 ?

标签: javascriptnode.jsmongodbexpressmongoose

解决方案


您应该将 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}`

推荐阅读