我将 Parse.com 与我的 iPhone 应用程序一起使用。
我之前遇到了一个问题,我试图将当前登录的用户添加到另一个用户的名为“friendsRelation”的 PFRelation 键/列,这基本上是朋友列表。
唯一的问题是,除了当前登录的用户之外,您不允许将更改保存给任何其他用户。
然后我了解到,您可以使用一种解决方法,将“主密钥”与 Parse Cloud Code 一起使用。
我最终将代码添加到我的 Parse Cloud 代码中:https ://stackoverflow.com/a/18651564/3344977
这很好用,我可以成功测试它并将 NSString 添加到 Parse 数据库中的字符串列/键。
但是,我不知道如何修改 Parse Cloud Code 以让我将用户添加到另一个用户的 PFRelation 列/键。
在过去的 2 个小时里,我一直在使用我链接到的上述 Parse Cloud 代码尝试一切,但无法正常工作,然后我意识到我的问题出在实际的云代码上,而不是我尝试使用的方式它在 xcode 中,因为就像我说的那样,我可以让它成功添加一个 NSString 对象用于测试目的。
我的问题是我不懂javascript,也不懂语法,所以我不知道如何更改用javascript编写的云代码。
我需要编辑我在上面链接到的 Parse Cloud 代码,我还将在这个问题的末尾粘贴它,以便我可以将当前登录的 PFUser 对象添加到另一个用户的 PFRelation 键/列。
我在objective-c中用来做这件事的代码是:
[friendsRelation addObject:user];
所以我很确定这与将对象添加到数组中是一样的,但就像我说的那样,我不知道如何修改 Parse Cloud 代码,因为它是在 javascript 中的。
这是解析云代码:
Parse.Cloud.define('editUser', function(request, response) {
var userId = request.params.userId,
newColText = request.params.newColText;
var User = Parse.Object.extend('_User'),
user = new User({ objectId: userId });
user.set('new_col', newColText);
Parse.Cloud.useMasterKey();
user.save().then(function(user) {
response.success(user);
}, function(error) {
response.error(error)
});
});
然后这里是我将如何使用objective-c在xcode中使用它:
[PFCloud callFunction:@"editUser" withParameters:@{
@"userId": @"someuseridhere",
@"newColText": @"new text!"
}];
现在只需要修改它以将当前 PFUser 添加到另一个用户的 PFRelation 列/键,我很确定这在技术上只是将一个对象添加到一个数组中。
对于熟悉 javascript 的人来说,这应该相当简单,所以我非常感谢您的帮助。
谢谢你。