什么应该是PFQuery在解析时获取列类型“数组”的记录?

时间:2013-06-04 06:18:30

标签: ios parse-platform

我的列ID为Array 例如。

ID - ["1","3","5"]
    ID - ["2","3"]
    ID - ["9","6","3"]

在解析数据库

现在我想获取包含ID的记录“3”

 [getData whereKey:@"ID" matchesRegex:[NSString stringWithFormat:@"%d",intIndexPathM+1]];

此返回空数组以及不识别

的任何错误

我也在parse document上搜索,但我没有得到任何线索。

2 个答案:

答案 0 :(得分:0)

在文档中有一个用于查询数组值的部分:

// Find objects where the array in arrayKey contains 2.
[query whereKey:@"arrayKey" equalTo:[NSNumber numberWithInt:2]];

答案 1 :(得分:0)

我很好奇你是否试图以错误的方式解决正确的问题。如果ID是另一个parse对象的objectId,那么您不需要使用字符串或正则表达式。您可以将一个对象保存在另一个对象中,Parse将自动处理对外部对象的引用。这也允许您使用PFQuery中的includeKey:方法在一次操作中下载父对象和子对象。要询问数组字段是否包含标量,您仍然可以使用whereKey:equalTo:方法; Parse会做正确的事。

然而,这不适用于正则表达式。我很紧张为什么你想要一个正则表达式。它不可能为正则表达式编制索引,因此您的查询永远不会有效,并且您将遇到扩展问题,Parse将无法很快将您解救出来。你是否真的试图找到所有对象,其中数组字段中的任何元素包含任何字符为“3”的字符串?如果是这样,为什么?如果是这种情况,我们应该提出一个更有效的解决方案。