Javascript 为什么在响应时创建文档时firebase cloud函数不触发

Javascript 为什么在响应时创建文档时firebase cloud函数不触发,javascript,firebase,google-cloud-functions,Javascript,Firebase,Google Cloud Functions,我已经写信给firestore,但它没有触发,我错过了什么 它显然是部署到云端的 它只在函数生成时记录,因此它不会执行 我已经写信给firestore,但它没有被触发 您可能已写入Firestore,但您的代码是作为Firebase编写的(它使用函数。数据库)。您需要使用来响应Firestore中的事件(或者,您需要将更新写入实时数据库,而不是Firestore) 很容易混淆它们(它们的名称非常相似!),但它们并不相同,需要进行不同的编码 例如,FirestoreonCreate触发器的原型应该

我已经写信给firestore,但它没有触发,我错过了什么

它显然是部署到云端的

它只在函数生成时记录,因此它不会执行

我已经写信给firestore,但它没有被触发

您可能已写入Firestore,但您的代码是作为Firebase编写的(它使用
函数。数据库
)。您需要使用来响应Firestore中的事件(或者,您需要将更新写入实时数据库,而不是Firestore)

很容易混淆它们(它们的名称非常相似!),但它们并不相同,需要进行不同的编码

例如,Firestore
onCreate
触发器的原型应该如下所示:

exports.createHook=functions.firestore
.document('Responses/{responseId}'))
.onCreate((更改,上下文)=>{….}

另外,在注释线程中,我注意到您说过“每次写入引用时都应调用onCreate”。这是不正确的。
onCreate
只应在文档首次写入时调用。

如何调用它?另外,snap.val缺少调用:snap.val()我的意思是,你是在
/Responses/newEntryId
中创建一个新条目吗?我不是在调用它,它在firebase云函数中运行。onCreate应该在每次写入引用时调用。你是否已将其部署到firebase?此外,iirc,你需要添加有效的信用卡才能使用云函数。
exports.createHook = functions.database.ref('/Responses/{ResponsesId}').onCreate((snap, context) => {
    console.log('triggered')
    var response = snap.val
    console.log(response.text);
});