javascript - 解析iOS SDK + 云代码: How to update user

标签 javascript ios objective-c parse-platform parse-framework

我对如何从云代码更新用户感到困惑。如果有人可以帮助我解决这个问题,我将不胜感激。

我将用于此示例的云代码是:

云代码

Parse.Cloud.define("like", function(request, response) {
    var userID = request.params.userID;

    var User = Parse.User();
    user = new User ({ objectId: userID });

    user.increment("likes");

    Parse.Cloud.useMasterKey();
    user.save().then(function(user) {
        response.success(user);
    }, function(error) {
        response.error(error)
    });

});

从 iOS 调用

[PFCloud callFunctionInBackground:@"like" withParameters:@{@"userID": self.selectedFriendID} block:^(id object, NSError *error) {

}];

问题

user = new User ({ objectId: userID });

1) 是上面代码中创建“全新”用户的"new",还是在 objectId 处“抓取”现有用户,以便可以在 上更新>user.save?

2) 如果后者是正确的,则可以从 objectId 列以外的列“抓取”用户,并且可能从 userID 中抓取> 专栏?

例如:

user = new User ({ userID : userID });

最佳答案

这一行:

user = new User ({ objectId: userID });

创建具有已知 ID 的对象实例,它仅适用于 objectId。您对该对象所做的任何更改都会保留,但不会更改其他数据(例如,您不会不小心清空其他列)。

如果您想通过电子邮件获取用户,则必须进行查询:

var userQuery = new Parse.Query(Parse.User);
userQuery.equalTo('email', userEmail);
userQuery.first().then(function(user) {
    if (user) {
        // do something with the user here
        user.set('new_col', 'new text');
        user.save().then(function() {
            response.success();
        });
    } else {
        // no match found, handle it or do response.error();
    }
});

// the above code is async, don't put anything out here and expect it to work!

关于javascript - 解析iOS SDK + 云代码: How to update user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25166238/

相关文章:

objective-c - UITableViewCell 中的可编辑文本字段

javascript - 如何使所有 html 元素位于图像顶部

javascript - 将数组添加到现有的嵌套数组而不重复 mongodb

javascript - 云函数 - 像对象值一样访问 json

javascript - 循环中的变量

objective-c - 最好直接在 Objective-C 中使用 CGRectGetHeight(view.bounds) 或 view.bounds.size.height

ios - 为什么覆盖 'NSInternalInconsistencyException'方法时会发生 'initWithCoder'

ios - uilabel 在其上应用旋转时消失

ios - 在 Firebase 身份验证 Xamarin 中访问 UID 时出错

Objective-C : Endless UIScrollView without pagingEnabled