【问题标题】:How to get cloud function onCreate trigger doc id如何获取云功能 onCreate 触发器文档 ID
【发布时间】:2019-05-17 18:13:43
【问题描述】:

我想获取触发 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}`
        }
    
    });

那么我如何获取文档ID?

【问题讨论】:

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


    【解决方案1】:

    由于您使用的 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

    【讨论】:

    • 它工作了,但要求升级包我肯定会失败,因为我之前升级过并且有问题所以我降级了。
    • 我认为你不应该害怕升级。您使用的是相当旧版本的 firebase-functions,请参阅 github.com/firebase/firebase-functions/releases
    猜你喜欢
    • 1970-01-01
    • 2020-04-28
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 2018-11-17
    • 2019-02-13
    • 1970-01-01
    相关资源
    最近更新 更多