此代码使用npm“Wagner”并更新用户的购物车
我不明白为什么 req.user 可以像mongoose文档一样保存
将请求数据转换为文档并保存的正常方法是什么 不使用“瓦格纳”
以下代码如下所示
服务器从请求中获取数据: cart = req.body.data.cart
然后更新购物车: req.user.data.cart = cart
现在保存用户数据: req.user.save(....)
我的问题是为什么我们不首先需要创建一个Mongoose文档?
req.user 只是一个JSON对象吗?
由于
passport.deserializeUser(function (id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
api.put('/me/cart', wagner.invoke(function(User) {
return function(req, res) {
var cart;
try {
cart = req.body.data.cart;
} catch (e) {
return res.
status(status.BAD_REQUEST).
json({ error: 'No cart specified!' });
}
req.user.data.cart = cart;
req.user.save(function(error, user) {
if (error) {
return res.
status(status.INTERNAL_SERVER_ERROR).
json({ error: error.toString() });
}
return res.json({ user: user });
});
};
}));
用户模型在另一个文件中定义 并通过 wagner.factory
注册
var User =mongoose.model('User', require('./user'), 'users');