首页 > 解决方案 > Firebase Cloud Firestore 不返回数据或错误

问题描述

我正在学习使用 Firebase Firestore,并创建了一个我想在我的应用中显示的项目列表。尝试加载列表时,我没有收到数据,但也没有收到任何错误。我无法在日志中显示数据。会发生什么?

fun getDriverData(): LiveData<MutableList<Driver>> {
    val mutableData = MutableLiveData<MutableList<Driver>>()

    FirebaseFirestore.getInstance().collection("drivers").get().addOnSuccessListener { result ->
            val listData = mutableListOf<Driver>()
            Log.i("repo","called")
            for (document in result) {
                
                val photoUrl = document.getString("photoUrl")!!
                val name = document.getString("name")!!
                val team = document.getString("team")!!
                Log.i("repo", "${document.id}} => ${document.data}")
                val driver = Driver(name,team,photoUrl)
                listData.add(driver)
            }
            mutableData.value = listData
        }.addOnFailureListener {
            Log.i("repo", "getDriverData: ${it.message}")
        }
    return mutableData
}

在此处输入图像描述

标签: androidfirebasegoogle-cloud-firestore

解决方案


您的收藏实际上称为“驱动程序” - 带有引号。无论在此处生成文档,都是在构建集合名称时使用额外配额。

您可以通过添加这些引号来阅读它们:

FirebaseFirestore.getInstance().collection("\"drivers\"").get()

但是您可能希望修复生成文档的代码以不添加这些引号。


推荐阅读