如何在创建触发器文档ID时获取云函数

时间:2018-12-17 11:21:32

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

我想获取触发oncreate函数的文档的ID,但是我尝试了如下所示的snap.params.id,但我却未定义。

exports.created = functions.firestore.document('projects/{projectId}')
  .onCreate(snap => {

    const projectId = snap.params.id;

当我在控制台上记录此projectId时,我变得未定义,有时会引发错误,并且我使用的版本为“ firebase-admin”:“〜5.12.1”,“ firebase-functions”:“ ^ 1.0.3”

    const project = snap.data();
    const notification = {
      title: `${project.title}`,

那我该如何获取文件ID?

      projectId: `${projectId}`
    }

});

1 个答案:

答案 0 :(得分:3)

由于您使用的是Cloud Functions版本> = 1.0,因此onCreate的事件具有两个参数,如下所示,您应该使用context.params

exports.created = functions.firestore.document('projects/{projectId}')
   .onCreate((snap, context) => {

       const projectId = context.params.projectId;

       const project = snap.data();

       //......

   });

有关更多详细信息,请参见此文档item