添加新文档时,kotlin firestore 未更新我的 android 应用程序

Posted

技术标签:

【中文标题】添加新文档时,kotlin firestore 未更新我的 android 应用程序【英文标题】:kotlin firestore not updating my android app when new document is added 【发布时间】:2022-01-02 16:10:25 【问题描述】:

我有一个带有一些文件的 Firestore。当我运行该应用程序时,快照侦听器会正确获取所有文档,然后当这些文档发生更改时它会更新。 如果我通过控制台(不是通过应用程序)添加新文档,我不会像我预期的那样收到任何通知。我错过了什么 ? 这是快照监听器的代码:

val docRef = db.collection("pile").orderBy("time", Query.Direction.DESCENDING)
val listener = docRef.addSnapshotListener()  value, e -> ... 

【问题讨论】:

是否已将消息记录在 e 对象中?你有打印出来的东西吗? 完全没有反应。它没有到达错误块。 那么valuee 是否包含任何值? 【参考方案1】:

经过几次尝试后,我了解到即使在 firestore 的第一批文档“浪潮”中,也不是所有文档都被下载,然后我意识到由于我的 Query 中的“orderBy”,我每次得到的列表都必须在其中包含此字段(“时间”)。 如果我想得到更新,新文件也必须有这个字段。 因此,当您尝试测试您的 firestore 时,不要偷懒并写下所有字段,或者至少是那些在您的“orderBY”中的字段。

【讨论】:

以上是关于添加新文档时,kotlin firestore 未更新我的 android 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firestore 中读取使用 Kotlin 中的 hashMap 添加的文档?

Firestore,检测添加到集合中的新文档等

如何从firestore中删除文档时实时更新Recyclerview?

将数据类的对象添加到 Kotlin 的 Firestore 时如何添加 Firebase 时间戳?

Cloud Firestore 文档添加给出错误“参数“数据”的值不是有效的 Firestore 文档。不能使用“未定义”作为 Firestore 值”

由子文档或集合完成创建时未触发firestore OnCreate