Firebase模拟器不会更新云功能文档路径,而是在更新功能内的代码

问题描述

这很奇怪。当我最初使用Firebase模拟器启动时:从下面的云功能开始,对其中一个用户文档进行更改,即可按预期工作。

exports.createPayment = functions.firestore.document('users/{userId}')
    .onUpdate(async (snap,context) => {
        const newValues = snap.after.data();
        console.log(newValues);
        console.log(context);
        const prevIoUsValues = snap.before.data();
        console.log(prevIoUsValues);
    });

在这是奇怪的地方。当我将从('users / {userId}')指定的文档更新为基本上所有内容时。它仍然只收听('users / {userId}'),所以我现在处于这样的状态

exports.createPayment = functions.firestore.document('')
    .onUpdate(async (snap,context) => {
    ...
    });

当我为用户更改内容时,这仍然触发onUpdate。现在,我的第一个想法很好,该功能没有刷新,但在这里它变得更加奇怪。当我在方括号之间添加一些内容时,它确实刷新了路径,但仍然没有刷新路径​​,因此现在我的函数如下所示:

exports.createPayment = functions.firestore.document('')
    .onUpdate(async (snap,context) => {
        const newValues = snap.after.data();        
        console.log('this has just been added');
        console.log(newValues);
        console.log(context);
        const prevIoUsValues = snap.before.data();
        console.log(prevIoUsValues);


    });

它仍然侦听用户/ {userId}路径,即使我将其保留为空(或者在其他测试中只是在其中放置一些乱码),但是当我更新数据库中的内容时,它现在也可以进行console.log'刚刚被添加”。这到底是怎么回事?似乎指定的路径没有更新,但功能正在更新。为什么会这样?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...