json – sails.js:如何更新模型

前端之家收集整理的这篇文章主要介绍了json – sails.js:如何更新模型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
原谅我的noob问题我使用 angularjs发送具有不同字段的用户模型(json).它适用于sails.js的默认PUT.我覆盖了PUT,问题是我希望使用接收的 JSON更新模型,并对修改的模型进行一些处理.现在我不能更新模型 @H_502_2@User.update({ id: req.body.id },{ req.body },function(err,users) { // Error handling if (err) { return console.log(err); // Updated users successfully! } else { console.log("Users updated:",users); } });

请帮忙

编辑:
敲我的头在墙上好几天,问题解决了!我知道我的代码格式不是最好的

改变了:

@H_502_2@{ req.body }

只是:

@H_502_2@req.body

(没有大括号)

完整的代码段变成:

@H_502_2@User.update({ id: req.body.id },req.body,users) { // Error handling if (err) { return console.log(err); // Updated users successfully! } else { console.log("Users updated:",users); } });

谢谢.

解决方法

所以你想出了你的问题,有些. req.body已经是一个对象.但是,在将其放入更新之前,您应该将其清理干净,然后保存对象.这有很多原因,但是当您只收到部分对象时,将使用Mongo替换集合中的对象,在您的示例中,用户可能会遇到这样的错误.当我将用户发送到前端时,我会把我不想像密码一样传输的东西剔除掉.另一个原因是Web应用程序开发的黄金法则 – 从不信任客户端!我会从以下的东西开始: @H_502_2@var user = User.findOne(req.body.id).done(function(error,user) { if(error) { // do something with the error. } if(req.body.email) { // validate whether the email address is valid? // Then save it to the object. user.email = req.body.email; } // Repeat for each eligible attribute,etc. user.save(function(error) { if(error) { // do something with the error. } else { // value saved! req.send(user); } }); });

猜你在找的JavaScript相关文章