我正在使用 Parse.com iOS api。我在解析中有一个“用户”表和一个“会话”表。我在“用户”中有“facebookid”列,在“会话”中有一个“用户”列(用户和会话之间存在一对多的关系)。我在编写执行以下操作的查询时遇到问题:给定一个“facebookid”数组,我想下拉与每个“facebookid”关联的“用户”以及他最近的会话。当我运行以下代码时,我只得到 1 个“会话”对象,当我省略“sessionQuery.limit = 1”时,我得到与每个用户关联的所有会话,而不仅仅是最近的。
PFQuery *userQuery = [PFUser query];
[userQuery whereKey:kFBUIDAttributeKey containedIn:fbids];
PFQuery *sessionQuery = [PFQuery queryWithClassName:kSessionParseObjectKey];
[sessionQuery includeKey:kUserParseAttributeKey];
sessionQuery.limit = 1;
[sessionQuery orderByDescending:kTimestampParseAttributeKey];
[sessionQuery whereKey:kUserParseAttributeKey matchesQuery:userQuery];
[sessionQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
complete(objects);
}];
我知道我可以为每个用户提出单独的请求,但更愿意在 1 个请求中完成。