0
在POST请求来表达我提出以下update
到一个数组在我的用户模式:Mongoose和Express不会反映Schema的更改,直到做出另一个更改?
User.findOne({username: username}, function (err, user) {
if (err) {
throw err;
}
if (!user) {
res.status(401).send('No user with that username');
}
if (typeof items === 'number') {
user.update({$push: {cart: items}}, {}, function (err) {
if (err) {
console.log('There was an error adding the item to the cart');
throw err
} else {
console.log('update', user);
res.send(user);
}
});
}
}
当我登录明示用户,或在我的应用程序,发生的事情是改变我做(在这种情况下,添加到购物车)不会显示,直到下一次更改。这就好像user
在记录并发送时一样,没有更新。我知道在检查我的数据库时发生了变化(项目已添加),但在响应中发送的user
仍然是原始用户(来自原始响应)(即变更之前)。如何发送更新后的用户,我认为会从user.update
返回?