如何在Kotlin中从Firestore获取列表



我需要从Firestore中的列表中获取数据。我搜索了一下,但没有找到任何结果,甚至在Firebase文档中。

该列表是一个list of Strings。我们称它为UsersUsers列表带来一个名称列表。如何从Firestore中获取值?

我使用的代码是
firestoreClient.collection("Users").get().addOnSuccessListener { result -> }

我在addOnSuccessListener方法中做什么?

我已经尝试过像document.data但不工作的列表,因为列表带来任何数据类型。

试试下面的代码。

val db = Firebase.firestore
var userNameList = listOf<String>()             //<-- To store list of user's name
db.collection("Users").get().addOnSuccessListener { documents ->
for (document in documents) {

// assuming the attribute name is 'userName'
val userName = document["userName"].toString()  
// add the userName to the list
userNameList += userName        
}
}

由于使用的是Kotlin,读取用户文档的最简单方法是调用get()并附加一个侦听器。在代码中,它就像这样简单:

val usersRef = Firebase.firestore.collection("Users")
usersRef.get().addOnCompleteListener {
if (it.isSuccessful) {
var names = mutableListOf<String>()
for (document in it.result) {
val name = document.getString("name")
names.add(name)
}
//Do what you need to do with the list
Log.d(TAG,"${names.size}")
} else {
Log.d(TAG, "${it.exception?.message}") //Never ignore potential errors!
}
}

最新更新