Node.js / Express.js从请求中删除用户,从数据库中删除用户



代码如下:

exports.delete = function (req, res, next) {
  console.log(req.user);
  req.user.remove(function (err) {
    if(err) {
      return next(err);
    } else {
      res.json(req.user);
    }
  })
};

当然这个函数是delete方法的回调,我不明白的是,为什么删除req.user也从MongoDB删除特定的用户,因为它只是一个请求。

编辑:

我有另一个回调(GET),它在相同的路由上执行:

exports.userByID = function (req, res, next, id) {
  User.findOne({
    _id: id
  }, function (err, user) {
    if (err) {
      return next(err);
    } else {
      req.user = user;
      next();
    }
  });
};

在您做req.user = user的地方,您将req.user的值设置为您的mongodb模型的实例。

所以,调用req.user.remove实际上是调用你的mongodb模型remove函数。

将删除功能更改为:

exports.delete = function (req, res, next) {
  console.log(req.user);
  delete req.user
  //etc...
};

delete req.user将从您的请求对象中删除用户对象

相关内容

  • 没有找到相关文章

最新更新