如何获取云函数 onCreate 触发文档 ID

R.O*_*vie 10 firebase google-cloud-functions google-cloud-firestore

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

当我控制台记录这个时projectId,我得到未定义,有时会抛出错误,我使用版本“firebase-admin”:“~5.12.1”,“firebase-functions”:“^1.0.3”

    exports.created = functions.firestore.document('projects/{projectId}')
      .onCreate(snap => {
    
        const projectId = snap.params.id;
 
        const project = snap.data();
        const notification = {
          title: `${project.title}`,
          projectId: `${projectId}`
        }
    
    });
Run Code Online (Sandbox Code Playgroud)

那么如何获取文档ID呢?

Ren*_*nec 23

由于您使用的是 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();

       //......

   });
Run Code Online (Sandbox Code Playgroud)

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