首页 > 解决方案 > Firestore 返回的文档较少

问题描述

因此,在我的 android 应用程序中,我通过以下代码从集合中获取所有文档:

    log("Player Listener Started")
    FirebaseFirestore.getInstance().collection("players")
        .limit(4)
        .addSnapshotListener { querySnapshot, firebaseFirestoreException ->
            log("Player Listener firestore exception message ${firebaseFirestoreException?.localizedMessage}")
            if (firebaseFirestoreException == null) {

                querySnapshot?.documents!!.forEach {
                    val serverPlayer = it.toObject(Player::class.java)!!
                    snapshotPlayers.add(serverPlayer)
                }
                log("Player numbers : ${snapshotPlayers.size}")

我在数据库的“玩家”集合中有 4 个文档:

在此处输入图像描述

但它总是只返回 1 个文档,即“Sheetal”。请检查上述代码中的日志:

在此处输入图像描述

这个确切的代码在一小时前运行良好,我得到了所有 4 个用户。我从控制台清除了数据库并使用我的应用程序重新创建了这些文档,此代码未返回 4 个文档。

Player班级 :

class Player(
var name: String = "",
var gameId: String = "",
var currentCard: Card = Card(),
var cardList: ArrayList<Card> = ArrayList(),
var made: String = "0",
var expected: String = "0",
var message: String = "",
var order: Int = 0,
var turn: Int? = null
)

Player数据库中的文档内容

在此处输入图像描述

我尝试了这些东西,但仍然得到相同的结果:

  1. 手动清除我的应用缓存
  2. 使用清除 Firestore 持久性数据FireDB.db.clearPersistence()

这是我在 Firestore 的第一个项目,所以我不知道我做错了什么。请帮我。

更新的日志: 在此处输入图像描述

标签: androidfirebasekotlingoogle-cloud-firestore

解决方案


推荐阅读