You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase云函数1代转2代:无法获取onDocumentCreated的文档数据

Firebase云函数V2获取Firestore文档数据的正确方式

问题核心是你没注意到V2云函数的触发器参数结构变化:

  • V1中onDocumentCreated的回调参数直接是文档快照(QueryDocumentSnapshot),可直接调用data();
  • V2里回调参数是一个CloudEvent事件对象,真正的文档快照存放在这个对象的data属性中。

看你打印的事件对象结构,里面的data字段就是你需要的QueryDocumentSnapshot,调整代码即可:

exports.profileCreation = onDocumentCreated(
  "profiles/{profile}",
  async (event) => {
    // 从事件对象中提取文档快照
    const docSnapshot = event.data;
    // 调用data()获取文档的键值对数据
    const profileData = docSnapshot.data();

    console.log("完整文档数据: ", profileData);
    console.log("用户邮箱: ", profileData.email);
    console.log("用户名: ", profileData.userName);
    console.log("发布状态: ", profileData.adminPublish);
  }
);

补充说明:

  • 若只想单独获取某个字段,也可以用docSnapshot.get('email')这种方式,和V1的用法完全一致;
  • 事件对象里的params字段可用来获取路径通配符的值(比如这里的profile文档ID),用法是event.params.profile。

内容的提问来源于stack exchange,提问作者Coolkid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 10:46:06