数据库写入时未触发云功能

时间:2020-03-21 14:53:40

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

我是第一次编写云函数。我已经设置了cli和所有内容,我希望我的功能在用户集合中有操作时触发。这是我的代码:

exports.testFn = functions.database.ref("/users/{userId}").onWrite(event => {
  console.log("testFn was Triggered!")
  console.log(`New write on user's collection: ${event.after.val()}.`)
})

每当我写/更新用户集合中的某些内容时,我都会检查日志,firebase仪表板中没有控制台语句或新日志。怎么了?另外,我该如何获取userId值?请帮忙!

1 个答案:

答案 0 :(得分:1)

您问题中的代码是实时数据库的onWrite触发器。由于您使用的是Cloud Firestore,因此可以使用onCreate来读取添加的新数据:

exports.dbDelete = functions.firestore.document('/doc/path').onCreate((snap, context) => {
  const newData = snap.data(); // data that was created 
  const authInfo = context.auth;
});

authInfo将包含触发该功能的用户的身份验证信息。

https://firebase.google.com/docs/reference/functions/cloud_functions_.eventcontext