我有一个nodeJs应用程序来执行CRUD操作。除了更新(我使用电子邮件)之外,其他一切都很好。
当我通过邮递员尝试时,它返回202-确定,但是当我在MongoDb中检查该文档时,它没有被更新,并且保留了旧的值/名字。我一直在这里搜索,发现了一些提示,但是它们没有帮助
crud_controller.js :
exports.update_member = function(req, res) {
var userEmail = req.body.email;
User.update({ userEmail }, {$set: req.body}, {multi: true}, function(err, user) {
console.log(`user: ${userEmail} req.body: ${JSON.stringify(req.body)} );
if (err) {
return res.json({success: false, msg: 'Cannot Update User'});
}
if (!user) {
return res.status(404).json({success: false, msg: 'User not found'});
}
else {
res.json({success: true, msg: 'User has been updated'})
};
});
};
我一直在尝试: {new:true}
和SO上的其他选项,可以作为几个问题的答案,但没有一个有帮助。
这是节点文件的console.log:
user: ramirezrodgers@xxxx.com
req.body: {"email":"ramirezrodgers@xxxx.xy","firstname":"test5"}
我也得到了成功的答复:
{success: true, msg: 'User has been updated'}
实际上,一切看起来都很好。我要去哪里错了?
答案 0 :(得分:2)
{电子邮件:userEmail}在您的代码中完成
exports.update_member = function(req,res){
var userEmail = req.body.email;
User.update({ email: userEmail }, {$set: req.body}, {multi: true}, function(err, user) {
console.log(`user: ${userEmail} req.body: ${JSON.stringify(req.body)} );
if (err) {
return res.json({success: false, msg: 'Cannot Update User'});
}
if (!user) {
return res.status(404).json({success: false, msg: 'User not found'});
}
else {
res.json({success: true, msg: 'User has been updated'})
};
});
};