Firestore запрос к базе данных, игнорировать регистр (без учета регистра) и подобное предложение. - PullRequest
0 голосов
/ 24 апреля 2018

В основном я пишу функцию поиска в поле документа Firestore. Я хочу написать эквивалент ниже SQL. Я не нахожу решение, чтобы продолжить.

ВЫБРАТЬ * ОТ сотрудника ГДЕ ниже (employee_name) LIKE '% johny%';

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Как уже писал Норман, в Firebase нет оператора LIKE.

Я написал ответ в SO , который объясняет, как выполнить аналогичный запрос (даже если это поиск StartWith , а не полнотекстовый поиск):

databaseReference.orderByChild('_searchLastName')
             .startAt(queryText)
             .endAt(queryText+"\uf8ff")
             .once("value")

Если вам нужны более продвинутые способы поиска, советуем использовать ElasticSearch в качестве возможного решения.

0 голосов
/ 24 апреля 2018

Оператор не похож на другого. См. Все доступные операторы на: https://firebase.google.com/docs/firestore/query-data/queries Страница также содержит различные способы запроса базы данных.

Для сортировки / запроса без учета регистра см. Ответ на вопрос Сортировка без учета регистра в облачном хранилище с использованием запроса

В основном рекомендуется хранить строчные данные в дополнительном поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...