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

How to make a search query in Firestore Objective c?

我正在使用我的第一个 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";
}

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

所以我的问题是 isGreaterThanOrEqualToisLessThanOrEqualTo Firestore 方法如何处理字符串,例如 "San Fransisco" 文档示例,所以我知道我是否可以使用一些实现简单的搜索查询API 方法,否则我将不得不实现 Google 为更复杂的搜索提供的 Solution Alternatives

谢谢。

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

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

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