【问题标题】:When you delete user let the user posts get deleted too in node js当您删除用户时,让用户帖子在节点 js 中也被删除
【发布时间】:2021-03-01 10:23:19
【问题描述】:

请发现很难删除用户并自动删除用户帖子。我只能单独删除用户或用户帖子,但我希望这样当我从数据库中删除用户时,用户帖子也会被删除

【问题讨论】:

标签: node.js express mongoose


【解决方案1】:

您可以查看 mongoose pre middleware,这样应该可以:

UserSchema.pre('remove', function (next) {
  let id = this._id
  Post.deleteMany({ user: id }, function (err, result) {
    if (err) {
      next(err)
    } else {
      next()
    }
  })
})

像这样调用中间件:

User.findById(id, function (err, doc) {
      if (err) {
        console.log(err)
        return res.status(500).send('Something went wrong')
      } else {
        if (!doc)
          return res.status(404).send('User with the given id not found')
        doc.remove(function (err, postData) {
          if (err) {
            throw err
          } else {
            return res.send('User successfully deleted')
          }
        })
      }
    })

【讨论】:

  • 感谢@O'Dane Brissett,现在一切正常
猜你喜欢
  • 2021-10-19
  • 1970-01-01
  • 2019-08-09
  • 2019-12-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
  • 2021-11-06
  • 1970-01-01
相关资源
最近更新 更多