我的user
集合中的每个users
都有三个字段:name
,age
和gender
。
我只是想创建一个包含所有名称的List
(名称为String
)。我该怎么办?
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
}
答案 0 :(得分:0)
您将必须迭代侦听器收到的QuerySnapshot中的文档(此处的QuerySnapshot变量为result
)。该QuerySnapshot包含结果中每个文档的DocumentSnapshot。 QuerySnapshot实现Iterable,因此您只需编写一个for
循环即可按顺序处理每个快照。或者,您可以使用一些Kotlin便捷方法:
val names = result!!.map { snapshot ->
snapshot["name"].toString()
}
names
将是List<String>
。