【发布时间】:2014-04-21 06:12:13
【问题描述】:
我在我的 iPhone 应用中使用 Parse.com。
我之前遇到了一个问题,我试图将当前登录的用户添加到另一个用户的名为“friendsRelation”的 PFRelation 键/列,这基本上是朋友列表。
唯一的问题是,除了当前登录的用户之外,不允许您将更改保存给任何其他用户。
然后我了解到,您可以使用一种解决方法,将“主密钥”与 Parse Cloud Code 一起使用。
我最终将这里的代码添加到我的 Parse Cloud 代码中:https://stackoverflow.com/a/18651564/3344977
这很好用,我可以成功测试它并将 NSString 添加到 Parse 数据库中的字符串列/键。
但是,我不知道如何修改 Parse Cloud 代码以让我将用户添加到另一个用户的 PFRelation 列/键。
在过去的 2 个小时里,我一直在尝试使用我链接到的上述 Parse Cloud 代码进行所有操作,但无法正常工作,然后我意识到我的问题出在实际的云代码上,而不是我的状态尝试在 xcode 中使用它,因为就像我说的那样,我可以让它成功添加一个 NSString 对象用于测试目的。
我的问题是我不懂javascript,不懂语法,所以我不知道如何更改用javascript编写的云代码。
我需要编辑我在上面链接到的 Parse Cloud 代码,我还将在此问题的末尾粘贴它,以便我可以将当前登录的 PFUser 对象添加到另一个用户的 PFRelation 键/列。
我在 Objective-c 中用来做这件事的代码是:
[friendsRelation addObject:user];
所以我很确定这与将对象添加到数组中是一样的,但就像我说的那样,我不知道如何修改 Parse Cloud 代码,因为它是在 javascript 中的。
这是 Parse Cloud 代码:
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)
});
});
下面是我在 xcode 中使用 Objective-c 的方法:
[PFCloud callFunction:@"editUser" withParameters:@{
@"userId": @"someuseridhere",
@"newColText": @"new text!"
}];
现在只需要修改它以将当前 PFUser 添加到另一个用户的 PFRelation 列/键,我很确定从技术上讲只是将一个对象添加到一个数组中。
这对于熟悉 javascript 的人来说应该相当简单,所以非常感谢您的帮助。
谢谢。
【问题讨论】:
标签: javascript ios objective-c parse-platform pfrelation