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

前端之家收集整理的这篇文章主要介绍了json – sails.js:如何更新模型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
原谅我的noob问题我使用 angularjs发送具有不同字段的用户模型(json).它适用于sails.js的默认PUT.我覆盖了PUT,问题是我希望使用接收的 JSON更新模型,并对修改的模型进行一些处理.现在我不能更新模型
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);
}
});

请帮忙

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

改变了:

{
   req.body
  }

只是:

req.body

(没有大括号)

完整的代码段变成:

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应用程序开发的黄金法则 – 从不信任客户端!我会从以下的东西开始:
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相关文章