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
方法的callback,我不明白的是为什么移除req.user
也从MongoDB中删除特定的用户,因为它只是一个请求。
编辑:
我有另一个callback(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(); } }); };
用户是MongoDB模型。
在你做req.user = user
地方,你可以将req.user = user
的值设置为你的mongodb模型的实例。
所以,调用req.user.remove
实际上是调用你的mongodb模型的remove
函数。
将您的删除function更改为:
exports.delete = function (req, res, next) { console.log(req.user); delete req.user //etc... };
delete req.user
将从您的请求对象中删除用户对象