【问题标题】:Delete a document via Mongoose and Express by clicking a button通过单击按钮通过 Mongoose 和 Express 删除文档
【发布时间】:2021-02-19 20:26:52
【问题描述】:

我尝试通过 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 数据库中删除!有什么问题?

【问题讨论】:

    标签: javascript node.js mongodb express mongoose


    【解决方案1】:

    您应该像/: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}`
    

    【讨论】:

    • 重定向有效,但不会删除具有此 ID 的对象。
    • 当你的console.log(req.params.id) 不是未定义的时候?
    • 确实如此。问题是否与我的前端没有 DELETE 请求有关?
    猜你喜欢
    • 2023-03-25
    • 2017-01-26
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 2015-02-03
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多