Firestore запрос - как найти по значению с неизвестным ключом родителя? - PullRequest
0 голосов
/ 13 марта 2020

Попытка сделать запрос. Но нужно найти документ, если я не знаю его родительский ключ. Так что в моем БД я хочу найти пользователя по имени, когда я не знаю UID. Мой дб ниже enter image description here

Код запроса

      users.whereEqualTo("name", "DavidMells")
            .get()
            .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                    if (task.isSuccessful()) {
                        //Here size is 0 nothing found
                        int size = task.getResult().size();
                        for (QueryDocumentSnapshot document : task.getResult()) {
                            FsUser fsUser = document.toObject(FsUser.class);
                            String testingValue = fsUser.getCountry();
                            Log.d("log", document.getId() + " => " + document.getData().get("country"));
                        }
                    } else {
                        Log.d("log", "Error getting documents: ", task.getException());
                    }
                }
            });

Декларация о ссылках

private CollectionReference users = FirebaseFirestore.getInstance().collection(Consts.USERS_DB);

Константа

    public static final String USERS_DB = "Users";

1 Ответ

1 голос
/ 13 марта 2020

Не знаю ... Может быть, это слишком просто ... но я не вижу другого варианта, так как код кажется правильным:

Глядя на скриншот, я заметил, что после DavidMells в базе данных, но не в коде ...

enter image description here

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