如何在Firestore Objective c中进行搜索查询?

时间:2017-10-13 00:03:32

标签: objective-c google-cloud-firestore

我正在使用我的第一个Firebase应用[Objective - C],我想知道实现搜索字段的最快方法,我一直在阅读documentation,我发现:

我引用了该文件:

 FIRQuery *capitalCities =
        [[self.db collectionWithPath:@"cities"] queryWhereField:@"capital" isEqualTo:@YES];

然后他们展示了如何进行搜索查询:

[citiesRef queryWhereField:@"name" isGreaterThanOrEqualTo:@"San Francisco"];

多数民众赞成我没有得到,我实施了该代码,如果我发送:

[citiesRef queryWhereField:@"name" isGreaterThanOrEqualTo:@"Kar"];

我得到的是(降序):

2017-10-12 18:53:36.138[2697:663963] SearchREsult: {
    nombre = "victoria ";
}
2017-10-12 18:53:36.138[2697:663963] SearchREsult: {
    nombre = karlo;
}
2017-10-12 18:53:36.138[2697:663963] SearchREsult: {
    nombre = "karla ";
}
2017-10-12 18:53:36.139[2697:663963] SearchREsult: {
    nombre = "V\U00edctor";
}
2017-10-12 18:53:36.142[2697:663963] SearchREsult: {
    nombre = "Ra\U00fal";
}
2017-10-12 18:53:36.143[2697:663963] SearchREsult: {
    nombre = "Ra\U00fal";
}
2017-10-12 18:53:36.144[2697:663963] SearchREsult: {
 nombre = Pepe;
}
2017-10-12 18:53:36.145[2697:663963] SearchREsult: {
    nombre = "Mar\U00eda";
}

所以第二和第三个结果是正确的,但我得到的更多"垃圾"结果我不需要。

所以我的问题是isGreaterThanOrEqualToisLessThanOrEqualTo Firestore方法如何处理字符串,例如" San Fransisco"文档示例,所以我知道如果我可以使用某种API方法实现简单的搜索查询,或者我必须实现Google为更复杂的搜索提供的Solution Alternatives

感谢。

1 个答案:

答案 0 :(得分:0)

听起来你正试图获得一系列结果。在这种情况下,您需要and。所以:

[[citiesRef queryWhereField:@"name" isGreaterThanOrEqualTo:@"Kar"]
            queryWhereField:@"name" isLessThan:@"Kas"]

这将为您提供nameKar开头的所有文档。