我有文本视图,可侦听多个子文档集合中的文档数量。
主要收藏
-文件1
---- Sub Collection
------文件1a
------文件1b
-文件2
---- Sub Collection
------文件2a
------文件2b
------文件2c
所以,听听我得到的改变;
text1 = 2,text2 = 3
在应用程序中,我执行批量写入操作以将文档上传到子集合中,然后侦听器处理更改集合中文档的数量。 我提交该批次后,就会触发监听器并更新该编号,然后将其写入Firestore,如here - Get realtime updates with Cloud Firestore
所示我只想在将数据写入Firestore之后更新文本视图。在上述页面中有些描述了一种实现方式:
FirebaseFirestore.getInstance()
.collection("Main Collection")
.document("Doc 1")
.collection("Sub Collection")
.document("Doc 1a")
.addSnapshotListener(MetadataChanges.INCLUDE) { snapshot, exception ->
var pending = snapshot!!.metadata.hasPendingWrites()
//do stuff only when pending == false
}
问题:
1.元数据每次更改时,上述变量“ pending”是否会更改?我写的正确吗?
2.我的代码遍历每个主文档,并为子集合doc计数设置一个侦听器。上面的代码段仅适用于单个文档,并且不想为一个文档设置多个侦听器。如何使用它来侦听子集合文档计数和侦听元数据更改?
3.是否有一种完全不同且更有效的解决方法?
谢谢。
答案 0 :(得分:0)
经过进一步测试...