Android Запрос Firebase для поиска пользователя по имени, электронной почте или номеру телефона - PullRequest
1 голос
/ 27 мая 2020

Я использую следующий запрос для поиска пользователя по имени

public void filterSearch(String searchInput) {
     Query searchQuery = mDatabaseReference.orderByChild("name").startAt(searchInput).endAt(searchInput + "\uf8ff");
     ....
}

Но теперь я хочу знать, как я могу использовать запрос для поиска пользователя по name или email или phone number

FYI: Я использую FirebaseRecyclerAdapter

1 Ответ

1 голос
/ 27 мая 2020

То, что вы ищете, - это запрос с использованием логического ИЛИ:

.orderByChild("name").startAt(searchInput).endAt(searchInput + "\uf8ff") ||
.orderByChild("email").startAt(searchInput).endAt(searchInput + "\uf8ff") ||
.orderByChild("phone number").startAt(searchInput).endAt(searchInput + "\uf8ff")

Что, к сожалению, невозможно в базе данных Firebase Realtime, потому что в нем нет концепции такого запроса. Чтобы решить эту проблему, вам нужно будет запросить каждый тип вещей отдельно и при необходимости объединить их в свой код.

Вы также можете проверить ответ @FrankvanPuffelen из следующего сообщения:

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