有没有一种方法可以在更新多个子集合时触发firebase触发器



我一直在尝试获取firebase中的多子集合级别结构的参数和数据。我需要了解每个级别的所有文档ID。我正在使用onCreate触发器。

我的结构如下:

公用事业/天然气/付款类型/卡/日期/2020-01

并且一直试图获得以下参数:

  • 公用设施类型,例如天然气
  • 付款类型,例如卡
  • 日期,例如2020-01

我一直试图使用的代码如下:

export const addDistributionArea = functions.firestore.document("utilsTypesDistributionArea/{utilityType}/paymentTypes/{paymentType}/dates/{date}")
.onCreate(async (snapshot: any, context: any) => {  
console.log("params", context.params);
console.log("id", snapshot.ref.id);
console.log("data", snapshot.data());
return null;
});

目前我可以检索utilityType和paymentType,但{date}始终未定义。

结果:

>  params { utilityType: 'gas', paymentType: 'card', date: undefined }
>  id QDD_1
>  data {}

有人能帮我找到解决方案吗。

没有一个云函数可以像这样在多个写入之间触发。

我能想到的选项:

  1. 将所有数据写入单个文档,然后根据云函数代码中的需要将数据扇出到其他集合。

  2. 触发每个文档,然后检测您的云功能代码中是否存在所有必要的文档。如果没有,请忽略此触发器并等待其他文档出现。

这两种都可以工作,尽管我个人更喜欢第一种,因为我喜欢将组合文档视为";交易数据";在这种情况下,应用程序会自动发布。

相关内容

  • 没有找到相关文章