繁体   English   中英

如何删除用户个人资料node.js表达

[英]How to delete user profile node.js express

初学者在这里。 我已经在mongoDB中创建了一个userschema,并进行了register和api的登录,在这里我无法弄清楚如何删除用户配置文件本身。 我已经将鼠标悬停在资源上很长时间了,尝试了一些不了解的事情。 请帮助我的代码和解释。 这是我的“ /注册”路线

router.post('/register',(req,res,next)=>{
  console.log(req.body)

  const name = req.body.name;
  const username = req.body.username;
  const email = req.body.email;
  const password = req.body.password;
  const user = {
    _id:mongoose.Types.ObjectId(),
    name,
    email,
    username,
    password
  }   

您可以从这里了解我的计划和收藏。 这是我的delete.jade视图

extends layout

block content
    .container
        ul.errors
            if errors
                each error, i in errors
                    li.alert.alert-danger #{error.msg}
        form(method='post', action='/users/delete/{{user.username}}', )
            h1  Delete Account
            p   Are you sure you want to delete your account?
            br
            button.btn.btn-primary(type='submit') Yes Do It

我试图使我的删除端点这样,我知道这是不合适的,但是我对删除功能没有任何扎实的想法。

router.delete('/delete/username', (req, res) => {
  db.collection('username').findOneAndDelete({username: req.body.username}, 
  (err, result) => {
    if (err) return res.send(500, err)
    console.log('got deleted');
    res.redirect('/');
  })
})

您遇到的问题是您没有从请求中获取用户名

router.delete('/delete/:username', (req, res) => {
    const { username } = req.params;
    db.collection('username').findOneAndDelete({username: username}, 
    (err, result) => {
    if (err) return res.send(500, err)
    console.log('got deleted');
    res.redirect('/');
    });
});

同样在您的前端,需要delete您的form method ,以将其作为删除请求(而不是帖子)发送出去。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM