如何在 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" 个结果。
所以我的问题是 isGreaterThanOrEqualTo
和 isLessThanOrEqualTo
Firestore 方法如何处理字符串,例如 "San Fransisco" 文档示例,所以我知道我是否可以使用一些实现简单的搜索查询API 方法,否则我将不得不实现 Google 为更复杂的搜索提供的 Solution Alternatives。
谢谢。
听起来您正在尝试获取一系列结果。在这种情况下,您需要 and
。所以:
[[citiesRef queryWhereField:@"name" isGreaterThanOrEqualTo:@"Kar"]
queryWhereField:@"name" isLessThan:@"Kas"]
这将为您提供 name
以 Kar
开头的所有文档。
我正在使用我的第一个 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" 个结果。
所以我的问题是 isGreaterThanOrEqualTo
和 isLessThanOrEqualTo
Firestore 方法如何处理字符串,例如 "San Fransisco" 文档示例,所以我知道我是否可以使用一些实现简单的搜索查询API 方法,否则我将不得不实现 Google 为更复杂的搜索提供的 Solution Alternatives。
谢谢。
听起来您正在尝试获取一系列结果。在这种情况下,您需要 and
。所以:
[[citiesRef queryWhereField:@"name" isGreaterThanOrEqualTo:@"Kar"]
queryWhereField:@"name" isLessThan:@"Kas"]
这将为您提供 name
以 Kar
开头的所有文档。