以下是代码:
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();
}
});
};
用户是MongoDB模型。
答案 0 :(得分:1)
在您执行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
将从请求对象中删除用户对象