Получить все значения поля в запросе Cloud Firestore - PullRequest
0 голосов
/ 20 марта 2019

Каждый user в моей коллекции users имеет три поля: name, age и gender.

Я просто хочу создать List всех имен (имена String s).Как я могу это сделать?

db.collection("phones").document(applicationID)
    .collection("users")
    .get()
    .addOnSuccessListener { result ->
        // something
        val users: List<String> = result.document.data("name").values // this is obviously the wrong syntax 
}

1 Ответ

0 голосов
/ 20 марта 2019

Вам придется перебирать документы в QuerySnapshot , который получает ваш слушатель (ваша переменная QuerySnapshot здесь result).Этот QuerySnapshot содержит DocumentSnapshot для каждого документа в результатах.QuerySnapshot реализует Iterable, поэтому вы можете просто написать цикл for для обработки каждого снимка по порядку.Или вы можете использовать некоторые удобные методы Kotlin:

val names = result!!.map { snapshot ->
    snapshot["name"].toString()
}

names здесь будет List<String>.

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