代码如下:
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
将从您的请求对象中删除用户对象