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

时间:2020-11-03 23:50:25

标签: javascript firebase google-cloud-firestore google-cloud-functions firebase-cli

这很奇怪。当我最初使用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'刚刚被添加”。这到底是怎么回事?似乎指定的路径没有更新,但功能正在更新。为什么会这样?

0 个答案:

没有答案