Проблема с получением корректных данных из FirebaseFirestore

При получение данных из firestore возникает непонятная проблема, при которой данные, которые я запрашиваю приходя в неправильном виде.

Пример ниже:

Структура запроса:

USERS(collection) -> uid пользователя(document) -> USER_NICK( поле по которому фильтруются данные)

Как выглядит это в firestore введите сюда описание изображения

Мне нужно отфильтровать всех пользователь по полю USER_NICK и получить их в виде list, вообще с этим проблем нет, я получаю нужный мне list с пользователями, но он некорректный.

Запрос в firestore для получения данных:

fun getListUserByNick(nick : String) : Single<List<UserModel>>{
    return Single.create{rx->
        FirebaseFirestore
                .getInstance()
                .collection(FIRE_USERS)
                .orderBy(USER_NICK)
                .startAt(nick)
                .get()
                .addOnSuccessListener {
                    rx.onSuccess(
                            it.toObjects(UserModel::class.java)
                    )
                }
                .addOnFailureListener {Throwable(it)}
    }
}

Как выглядит модель для данных указанно ниже.

data class UserModel(
    val USER_NICK : String = ""
)

Что в итоге я получаю

  • При вводе строки "TESTRff" размер получаемого list должен быть = 0, так как полей с значением TESTRff нет, но получаю list я получил со всеми данными относящимся к полу USER_NICK , при комбинации вводимых данных, я получал рандомный список из элементов, но не тот который должен получить. *

Пожалуйста, помогите найти решение данной проблемы!


Ответы (0 шт):