exports.createHook = functions.database.ref('/Responses/{ResponsesId}').onCreate((snap, context) => {
    console.log('triggered')
    var response = snap.val
    console.log(response.text);
});


我已写信给Firestore并且没有触发,我想念什么?

Here is a picture of my functions panel明确部署到云

Here is a picture of the logs它是构建函数时不执行的唯一日志记录。

最佳答案

我已写信给Firestore,但未触发


您可能已经写过Firestore,但是您的代码是作为Firebase Realtime Database trigger编写的(它使用functions.database)。您需要使用Firestore triggers来响应Firestore中的事件(或者,您需要将更新写入Realtime数据库而不是Firestore中)。

使它们混淆很容易(它们的名称是如此相似!),但它们并不相同,因此需要进行不同的编码。

例如,Firestore onCreate触发器的原型应类似于:

exports.createHook = functions.firestore
    .document('Responses/{ResponsesId}')
    .onCreate((change, context) => { .... }


同样在注释线程中,我注意到您说过“ onCreate应该在每次对引用进行写操作时调用”。这是不正确的。 onCreate仅应在首次写入文档时调用。

关于javascript - 为什么在响应中创建文档时,firebase云功能未触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58631959/

10-16 21:11