Это лучший ответ. За проголосовали соответственно.

есть строка с именем 'Калифорния«В базе данных Firestore, и я хочу искать из приложения Android как»Cali«Тогда пожарная база должна вернуть мне Калифорнию. Как я могу сделать этот запрос?

Там есть какая-то функция в пожарном магазине, как,

db.collection("cities").whereEqualTo("name", "Cali")
 db.collection("cities").whereLessThan("name", "Cali")
 db.collection("cities").whereGreaterThanOrEqualTo("name", "Cali")
 db.collection("cities").whereGreaterThan("name", "Cali")
 db.collection("cities").whereGreaterThanOrEqualTo("name", "Cali")

Но мне нужна функция вроде как,

db.collection("cities").whereContain("name", "Cali")

который должен вернуть полную строку, содержащую подстроку 'Cali'.

Ответы на вопрос(1)

db.collection("cities").whereContains("name", "Cali")

Но для небольших наборов данных есть решение, которое может помочь вам решить эту проблему, а именно запросить базу данных, чтобы получить все названия городов и использоватьcontains() метод как это:

String str1 = document.getString("yourProperty");
String str2 = "Cali";
boolean b = str1.toLowerCase().contains(str2.toLowerCase());

Если вы попытаетесь напечатать значениеbвы увидите, что этоtrue, Но приведенные выше примеры работают достаточно хорошо только длянебольшой наборы данных, это не работает для больших наборов данных, и это потому, что загрузка всей коллекции для поиска полей на стороне клиента нецелесообразна. В этом случае в качествеофициальная документация рекомендует:

Чтобы включить полнотекстовый поиск по вашим данным в Cloud Firestore, воспользуйтесь сторонним поисковым сервисом, таким какAlgolia.

Для конкретного примера, пожалуйста, смотрите мой ответ от этогоПочта.

 Alex Mamo10 сент. 2018 г., 12:05
@WillieChalmersIII Надеюсь, вы пересмотрите мой обновленный ответ и откажетесь от голосования. Если вы считаете, что мой ответ может помочь будущему посетителю, пожалуйста, рассмотрите возможность голосования. Буду признателен. Спасибо!
 Alex Mamo02 апр. 2018 г., 21:11
Как вы думаете, мой ответ был полезным?
 Willie Chalmers III10 сент. 2018 г., 22:41
Это лучший ответ. За проголосовали соответственно.
 Alex Mamo10 сент. 2018 г., 12:04
@WillieChalmersIII Привет, Вилли, и спасибо за комментарий к моему ответу. Да, вы правы, я просто обновил свой ответ соответственно.
 Willie Chalmers III09 сент. 2018 г., 22:00
Хотя это одно из решений, технически оно не отвечает на вопрос о наличии запроса Firestore, который выполняет эту работу. Кроме того, некоторая информация, которую вы предоставили, технически неверна; в API Cloud Firestore Android, методыwhereEqualTo и другие существуют.

Ваш ответ на вопрос