我想知道是否有可能以这样的方式订阅文档的整个集合:是否在completness.energy
内有任何子节点(甚至像2020.2.1
内的balanceRecords
值一样深嵌套)更改监听器触发器
我尝试过:
FirebaseDb.collection(`users`).doc(uid).collection(`balanceRecords`)
.onSnapshot({ includeMetadataChanges: true }, function (snapshot) {
debugger
// during initialisation snapshot:
// docs.length = 0
// empty: true
})
集合的后续更新不会触发任何侦听器,如果有一种有效的方法可以侦听文档子集合的字段,您能取悦吗?
答案 0 :(得分:1)
您提供的屏幕截图显示了一个没有子集合的文档。该文档具有一个称为“ balanceRecords”的可见字段,其中包含外观复杂的对象。由于它不是子集合,因此可以不使用编写的代码引用它。
如果要阅读该字段,则必须阅读命名的文档。如果要侦听该字段中的更改,则必须在该单个文档上设置快照侦听器。快照侦听器不会确切告诉您该字段中发生了什么更改-您必须将其与上一个快照进行比较才能找出来。
FirebaseDb.collection('users').doc(uid).onSnapshot(snapshot -> {
// read the balanceRecords field out of the document here.
})