我正在使用我的第一个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";
}
所以第二和第三个结果是正确的,但我得到的更多"垃圾"结果我不需要。
所以我的问题是isGreaterThanOrEqualTo
和isLessThanOrEqualTo
Firestore方法如何处理字符串,例如" San Fransisco"文档示例,所以我知道如果我可以使用某种API方法实现简单的搜索查询,或者我必须实现Google为更复杂的搜索提供的Solution Alternatives。
感谢。
答案 0 :(得分:0)
听起来你正试图获得一系列结果。在这种情况下,您需要and
。所以:
[[citiesRef queryWhereField:@"name" isGreaterThanOrEqualTo:@"Kar"]
queryWhereField:@"name" isLessThan:@"Kas"]
这将为您提供name
以Kar
开头的所有文档。