0

我需要在 Parse 中为用户查询大量好友消息。

我有一个 Friend_Relation 对象,有两个用户,一个朋友和一个当前用户。

每个用户都有许多 Message 对象(我只关心最新的)。关系如下: [message setObject:currentUser forKey:@"userMessage"];

用户对象具有最新消息 objectId 的属性。

如何获取用户的所有朋友及其消息?

我在想是否可以轻松查询用户的所有朋友。如果我可以创建一个我从用户朋友那里获得的 objectIds 的 NSArray,我可以通过另一个查询来取回所有这些用户的消息。我怎样才能即时创建这种类型的查询?

4

2 回答 2

0

您可能可以使用内部查询来实现此目的:

PFQuery *getAllFriendsInnerQuery = [[currentUser relationForKey:@"friend"] query];
PFQuery *messageQuery = [PFQuery queryWithClassName:@"Message"];
[messageQuery whereKey:@"userMessage" matchesQuery:getAllFriendsInnerQuery];
[messageQuery findObjectsInBackgroundWithBlock:^(NSArray *array, NSError *error) {
    // Here the parameter array contains all the messages from current user's friends
}];
于 2013-07-06T00:45:44.953 回答
0

答案肯定是使用包含的方法,如下所示:

NSArray *names = [self.user objectForKey:@"friends"];
        [query whereKey:@"userMessaga" containedIn:names];
于 2013-07-16T23:58:24.150 回答