解析Node.js中的更新行

时间:2014-02-21 22:27:25

标签: javascript node.js parse-platform

我正在尝试运行以下代码:

exports.updateProfile = function(req, res) {
    var Profile = Parse.Object.extend("Profile");
    var query = new Parse.Query(Profile);
    query.equalTo("username", req.body.username);
    query.first({
        success: function(Profile) {
            Profile.save(null, {
                success: function(profile) {
                    profile.set(req.body, { //It breaks here...
                        success: function(object) {
                            res.send({"error":"none"});
                        },
                        error: function (object, error) {
                            res.send({"error":"Error: " + error.code + " " + error.message});
                        }
                    });
                },
                error: function (object, error) {
                    res.send({"error":"Error: " + error.code + " " + error.message});
                }
            });
        },
        error: function (object, error) {
            res.send({"error":"Error: " + error.code + " " + error.message});
        }
    });
}

但是,在“It breaking here”行中都没有调用成功或错误方法。使用Node.js更新Parse行的任何想法或更好的方法?感谢。

1 个答案:

答案 0 :(得分:0)

exports.updateProfile = function(req, res) {
    var Profile = Parse.Object.extend("Profile");
    var query = new Parse.Query(Profile);
    query.equalTo("username", req.body.username);
    query.first().then(function(Profile){
        Profile.set("columnName", value);//value might be you are getting from req.body 
        Profile.save().then(function(saved){
            res.send({"error":"none"});
        }, function(error){
            res.send(error);
        });
    }, function(error){
        res.send(error);
    });
}

这可能是你要找的东西。尝试这种方法希望它会有所帮助。您正在保存尚未修改的对象,这可能是它没有进入回调方法的原因。重构代码以删除无效的保存调用。