Firebase Firestore Nested Query для получения обоих результатов - PullRequest
0 голосов
/ 20 сентября 2018

Так что я пытаюсь получить результаты из firestore

db.collection("dialogs")
            .whereArrayContains("members", me.getId())
            .get()
            .continueWith(continue -> {
                List<Task<DocumentSnapshot>> tasks = new ArrayList<>();
                for (DocumentSnapshot snapshot : continue.getResult())
                    for (Object userId : (ArrayList) snapshot.get("members"))
                        tasks.add(db.collection("users").document(userId.toString()).get());
                return tasks;
            })
            .addOnSuccessListener(task -> {
                for (Object something : task)
                    Log.d("Query", "Data: " + something);
            })
            .addOnFailureListener(e -> Log.d("Query", "Exception: " + e));

, этот код выдаст мне users документы, как показано выше, также мне нужен идентификатор документа snapshot

1 Ответ

0 голосов
/ 20 сентября 2018

Для ясности, continue - это не документ, это задача, которая содержит результат DocumentSnapshot.Ваш DocumentSnapshot находится в snapshot, и вы можете получить идентификатор DocumentSnapshot, используя его метод getId () .

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