解析到Heroku迁移(MongoLab):PFRelation问题

时间:2016-02-28 22:32:10

标签: ios heroku parse-platform mlab pfrelation

我成功将解析迁移到使用mongolab的parse-server。现在一切都按预期工作,除非我使用MongoLab记录PFUser,我的PFRelation对象始终为null。

在我的AppDelegate中,当我运行此代码时(官方Parse):

[Parse setApplicationId:@"xxxxxx"
              clientKey:@"xxxxxx"];
[PFUser enableRevocableSessionInBackground];

HomeView.m:

self.currentUser = [PFUser currentUser];
self.friendsRelation = [[PFUser currentUser] objectForKey:@"friends"];
NSLog(@"%@", self.currentUser);
NSLog(@"%@", self.friendsRelation);

登录后,我的HomeView会记录下来:

2016-02-28 23:25:38.756 ChillN[4131:57119] <PFUser: 0x7fe0b3e4fc10, objectId: MZdPHaqByR, localId: (null)> {
    friends = "<PFRelation: 0x7fe0b3e4f900, 0x7fe0b3e4fc10.friends -> _User>";
    phone = "06 19 05 39 30";
    surname = a;
    username = a;
}
2016-02-28 23:25:38.756 ChillN[4131:57119] <PFRelation: 0x7fe0b3e4f900, 0x7fe0b3e4fc10.friends -> _User>

所以一切都是对的。

现在使用mongolab db:

的AppDelegate:

[Parse initializeWithConfiguration:[ParseClientConfiguration configurationWithBlock:^(id<ParseMutableClientConfiguration> configuration) {
    configuration.applicationId = @"xxxxxxx";
    configuration.clientKey = @"xxxxxxx";
    configuration.server = @"http://xxxxxxx.herokuapp.com/parse/";
}]];

登录后,我的HomeView记录了这个:

2016-02-28 23:29:21.785 ChillN[4281:59046] <PFUser: 0x7fa43c09ed20, objectId: MZdPHaqByR, localId: (null)> {
    phone = "06 19 05 39 27";
    surname = a;
    username = a;
}
2016-02-28 23:29:21.786 ChillN[4281:59046] (null)

对于日志记录,我只是使用:

[PFUser logInWithUsernameInBackground:user
                                 password:password block:^(PFUser *user, NSError *error) {}];

这是我的数据库: 解析: Parse DB

Heroku(MongoLab): MongoLab DB

以下是来自MongoLab的用户记录:

{
    "_id": "MZdPHaqByR",
    "_perishable_token": "SHuhtWl0EoxxmNLOkspmp1vBF",
    "username": "a",
    "phone": "06 19 05 39 27",
    "surname": "a",
    "_session_token": "zO2drjzrO0To1q0JiohaL8f4v",
    "_hashed_password": "$2a$10$a7j5yB7uFDtv.YnHESVJgO9Io.nci8hbx7vngOo.FyzA3qBLxw38G",
    "_created_at": {
        "$date": "2016-02-28T21:55:48.548Z"
    },
    "_updated_at": {
        "$date": "2016-02-28T22:03:45.704Z"
    }
}

1 个答案:

答案 0 :(得分:0)

我的代码只是一个错误,我不得不替换:

self.friendsRelation = [[PFUser currentUser] objectForKey:@"friends"];

self.friendsRelation = [[PFUser currentUser] relationForKey:@"friends"];

希望能帮助另一个人。干杯!