0

我有一个类型为Array 例如的列 ID。

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

在解析数据库

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

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

这将返回空数组并且不会给出任何错误来识别

我也在解析文档上搜索,但我没有得到任何线索。

4

2 回答 2

0

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

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

于 2013-06-04T17:52:14.160 回答
0

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

// Find objects where the array in arrayKey contains 2.
[query whereKey:@"arrayKey" equalTo:[NSNumber numberWithInt:2]];
于 2013-06-04T06:38:20.930 回答