Firebase onSnapshot()侦听器...我可以以某种方式从更改前获取数据

时间:2020-03-05 19:28:08

标签: javascript node.js firebase google-cloud-firestore

我在firebase中有一个收藏集。我正在听onSnapshot方法的更改。

如果以任何方式更改了集合中的任何项目,则会触发侦听器。我正在获取新数据,这些数据已通过docChanges方法插入到我的收藏集中

db.collection('collection')
    .onSnapshot((snapshot) => {
        snapshot.docChanges().forEach((change) => {
            const payload = {
                id: change.doc.id,
                data: change.doc.data(),
            };

            ...... some action
        });
    });

现在...我需要比较新数据(刚刚插入的数据)和旧数据(插入之前的数据),我想知道是否有任何方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

Firestore SDK没有提供任何方法来检测文档字段的“之前”和“之后”状态之间的差异。您将必须记住两个快照,并自己查找字段中的差异。您可能需要搜索一些有关此操作的想法,例如:Generic deep diff between two objects