Ios 分析查询-无法处理多个whereKey:doesNotMatchKey:inQuery
我在试这个Ios 分析查询-无法处理多个whereKey:doesNotMatchKey:inQuery,ios,iphone,xcode,parse-platform,Ios,Iphone,Xcode,Parse Platform,我在试这个 PFQuery *allDealsQuery = [Deal query]; PFRelation *favoritedDealsRelation = [user objectForKey:@"favoritedDeals"]; PFQuery *favoritedDealsQuery = [favoritedDealsRelation query]; PFRelation *redeemedDealsRelation = [user objectForKey:@"redeemed
PFQuery *allDealsQuery = [Deal query];
PFRelation *favoritedDealsRelation = [user objectForKey:@"favoritedDeals"];
PFQuery *favoritedDealsQuery = [favoritedDealsRelation query];
PFRelation *redeemedDealsRelation = [user objectForKey:@"redeemedDeals"];
PFQuery *redeemedDealsQuery = [redeemedDealsRelation query];
[allDealsQuery whereKey:@"objectId" doesNotMatchKey:@"objectId" inQuery:favoritedDealsQuery];
//Parse does not support more than 2 where queries???
[allDealsQuery whereKey:@"objectId" doesNotMatchKey:@"objectId" inQuery:redeemedDealsQuery];
[allDealsQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
onSuccess(objects);
}
else {
onError(error);
}
}];
当我尝试使用两个查询时,答案与预期的不同。
那么,我是否应该只使用一个DoesNotMachKey查询?尝试在复合查询上引用解析文档: 复合查询 如果要查找与多个查询之一匹配的对象,可以使用orQueryWithSubqueries:method。例如,如果你想找到赢得很多或很少的玩家,你可以:
PFQuery *lotsOfWins = [PFQuery queryWithClassName:@"Player"];
[lotsOfWins whereKey:@"wins" greaterThan:@150];
PFQuery *fewWins = [PFQuery queryWithClassName:@"Player"];
[fewWins whereKey:@"wins" lessThan:@5];
PFQuery *query = [PFQuery orQueryWithSubqueries:@[fewWins,lotsOfWins]];
[query findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) {
// results contains players with lots of wins or only a few wins.
}];