Firestore实时侦听器仅检测单个文档的更改类型

时间:2020-09-04 19:29:20

标签: firebase google-cloud-firestore

我在Firestore documentation for realtime listener上看到,我们可以查看快照之间的更改,并查看是否添加,删除或修改了每个文档。

我想知道如果仅将onSnapshot附加到单个文档上是否可以看到更改的类型?

我尝试在单个文档侦听器上运行docChanges()方法:

    db.collection("matching").doc("user1").onSnapshot(async doc => {
        doc.docChanges().forEach(function(change) {
            if (change.type === "added") {
                console.log("added: " + change.doc.data());
            }
        })
    })

但是它产生了一个错误:

Uncaught (in promise) TypeError: doc.docChanges is not a function

我认为我无法在单个文档侦听器上运行docChanges()。在那种情况下,那么如何查看单个Firestore文档实时侦听器的更改?

1 个答案:

答案 0 :(得分:1)

否,API不会向您指示快照之间哪些数据或字段会发生变化。每当文档中任何地方发生更改时,您都只会得到回调。您必须比较以前的快照和当前的快照,才能自己找出答案。