Ios 使用Parse.com进行多查询搜索

Ios 使用Parse.com进行多查询搜索,ios,objective-c,parse-platform,Ios,Objective C,Parse Platform,我正在尝试根据某些凭据查询以查找特定用户 查询将只在用户类中查找 首先,我希望查询匹配当前用户的位置 其次,必须匹配特定类别(意味着同一位置的多个用户可能属于同一类别) 以下是我尝试过的: self.profileObj = [self.currentUser objectForKey:@"city"]; PFQuery * queryOne = [PFUser query]; [queryOne whereKey:@"city" equalTo:self.profileObj]; PFQ

我正在尝试根据某些凭据查询以查找特定用户

查询将只在用户类中查找

首先,我希望查询匹配当前用户的位置

其次,必须匹配特定类别(意味着同一位置的多个用户可能属于同一类别)

以下是我尝试过的:

self.profileObj = [self.currentUser objectForKey:@"city"];

PFQuery * queryOne = [PFUser query]; 
[queryOne whereKey:@"city" equalTo:self.profileObj];

PFQuery * queryTwo = [PFUser query]; 
[queryTwo whereKey:@"category" equalTo:self.tagString];

PFQuery * query = [PFQuery orQueryWithSubqueries:@[queryOne, queryTwo]]; 
[query orderByAscending:@"createdAt"]; 
[query findObjectsInBackgroundWithBlock:(NSArrayobjects, NSError error)

这将返回0个结果。

您不需要两个单独的查询,因为您正在查询同一个用户对象。还有,我相信你想要两个和约束,而不是OR?如果是这样,您可以将两个WhereKey链接在一起:

PFQuery * query = [PFQuery queryWithClassName:@"User"]; 
[query whereKey:@"city" equalTo:self.profileObj];
[query whereKey:@"category" equalTo:self.tagString];
[query orderByAscending:@"createdAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
     ...
}];

您不需要两个单独的查询,因为您正在查询同一个用户对象。还有,我相信你想要两个和约束,而不是OR?如果是这样,您可以将两个WhereKey链接在一起:

PFQuery * query = [PFQuery queryWithClassName:@"User"]; 
[query whereKey:@"city" equalTo:self.profileObj];
[query whereKey:@"category" equalTo:self.tagString];
[query orderByAscending:@"createdAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
     ...
}];

您不需要两个单独的查询,因为您正在查询同一个用户对象。还有,我相信你想要两个和约束,而不是OR?如果是这样,您可以将两个WhereKey链接在一起:

PFQuery * query = [PFQuery queryWithClassName:@"User"]; 
[query whereKey:@"city" equalTo:self.profileObj];
[query whereKey:@"category" equalTo:self.tagString];
[query orderByAscending:@"createdAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
     ...
}];

您不需要两个单独的查询,因为您正在查询同一个用户对象。还有,我相信你想要两个和约束,而不是OR?如果是这样,您可以将两个WhereKey链接在一起:

PFQuery * query = [PFQuery queryWithClassName:@"User"]; 
[query whereKey:@"city" equalTo:self.profileObj];
[query whereKey:@"category" equalTo:self.tagString];
[query orderByAscending:@"createdAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
     ...
}];

您的解析数据库是什么样子的?乍一看,代码看起来还不错,在Parse中可能没有与您的查询匹配的数据。您的Parse数据库是什么样子的?乍一看,代码看起来还不错,在Parse中可能没有与您的查询匹配的数据。您的Parse数据库是什么样子的?乍一看,代码看起来还不错,在Parse中可能没有与您的查询匹配的数据。您的Parse数据库是什么样子的?乍一看,代码看起来还不错,在解析中可能没有与您的查询匹配的数据。谢谢!我之前试过这个,但肯定是我忽略了一个打字错误,所以它不起作用。这看起来正在工作。谢谢!我之前试过这个,但肯定是我忽略了一个打字错误,所以它不起作用。这看起来正在工作。谢谢!我之前试过这个,但肯定是我忽略了一个打字错误,所以它不起作用。这看起来正在工作。谢谢!我之前试过这个,但肯定是我忽略了一个打字错误,所以它不起作用。这看起来正在起作用。