1
我想为给定的当前用户密钥增加一个计数器。当前用户的增量计数器
我使用incrementKey method,但是,下面的代码是不工作*:
[currentUser incrementKey:@"likes" byAmount:[NSNumber numberWithInt:1]];
[currentUser saveInBackground];
- 它不会引发错误,但它并没有任何更新数据库。
我想为给定的当前用户密钥增加一个计数器。当前用户的增量计数器
我使用incrementKey method,但是,下面的代码是不工作*:
[currentUser incrementKey:@"likes" byAmount:[NSNumber numberWithInt:1]];
[currentUser saveInBackground];
假设当前用户是PFUser
例如,如果它不是当前登录的用户[PFUser currentUser]
,也许你应该对用户的行权ACL。
尝试设置当前ACL现场为用户进行读,写,如:
// set user acl
PFACL* userACL = [PFACL ACLWithUser:currentUser];
[userACL setPublicReadAccess:YES];
[userACL setPublicWriteAccess:YES];
[currentUser setACL:userACL];
[currentUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
// check if any save error occurs
}];
老实说,我建议不要使用出于安全原因,上面的方法,尤其是在用户表。相反,你可以尝试创建一个自定义功能的云代码方面,采用Parse.Cloud.useMasterKey()
等增加用户喜欢的东西
.
..
...
Parse.Cloud.useMasterKey();
...
// retrieve the user with passed user object id from client
var userId =request.params.myUserId;
var user = new Parse.User();
user.set("objectId", userId);
user.fetch().then(function(concreteUser){
concreteUser.increment("likes", 1);
concreteUser.save().then(function(incrementedUser){
response.success();
},function(saveError){
response.error(saveError);
});
},function(error){
response.error(error);
});
希望它可以帮助
只是可以肯定,你是如何分配currentUser变量? – Fosco