我是第一次尝试使用Cloud Code而且遇到了一些麻烦。我想我的大部分都是正确的。我正在尝试将用户的“ID”添加到名为“likes”的数组中的另一个用户的对象。我正在使用的代码是......
Parse.Cloud.define("lifeLike", function(request, response) {
var userID = request.params.userID;
var selectedFriendID = request.params.selectedFriendID;
var query = new Parse.Query(Parse.User);
query.equalTo("userID", selectedFriendID);
query.find().then(function (users) {
Parse.Cloud.useMasterKey();
users.add("likes", userID);
users.save().then(function(user) {
response.success(user);
}, function(error) {
response.error(error)
});
}, function (error) {
response.error(error);
});
});
当我在iOS中调用它时
[PFCloud callFunctionInBackground:@"like" withParameters:
@ {
@"userID": [PFUser currentUser][@"userID"],
@"selectedFriendID": self.selectedFriendID
}
block:^(id object, NSError *error) {
if (error) {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Error" message:[NSString stringWithFormat:@"Unable to like this user.\n%@", [error userInfo][@"error"]] delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
else {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Liked" message:@"You now like this user." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
}];
我收到此错误
Error: TypeError: Object [object Object] has no method 'add'
这是我第一次尝试使用Cloud Code。有人可以帮我解决为什么会这样吗?
答案 0 :(得分:2)
.find()返回一个数组,其结果没有方法add()。如果您只搜索一个用户,请尝试使用返回一个对象的.first()。 / p>