是否可以同时使用2个或更多的onwrite firebase云功能?

时间:2018-01-18 21:00:41

标签: firebase google-cloud-functions

我希望我的云功能根据数据库写入的位置采取不同的行为。

例如:

functions.database.ref('queues/login/{uid}').onWrite(event => {
//do something here
});
functions.database.ref('queues/login/{uid}/status').onWrite(event => {
//do another thing here
});
functions.database.ref('queues/login/event').onWrite(event => {
//do something else
});
这可能吗?如果没有,我必须在1个onwrite触发器中收集它们如何使用if子句进行此操作?

提前致谢

2 个答案:

答案 0 :(得分:2)

是的,您肯定可以在同一个项目中定义多个数据库触发器。您甚至可以在完全相同的位置定义多个触发器。

答案 1 :(得分:1)

你可以这样做,3个函数针对的是同一个节点login。这将是任何客户在queues/login/{uid}

上写一些内容时的顺序
  1. 作为密钥的uid将以任何配对值
  2. 写入
  3. 将激活第一个功能
  4. 如果值包含status,则第二个功能也将被激活
  5. 最终会发生一些会写在queues/login/event上的内容,并会触发第三个功能。

    还有兴趣指出,函数可以触发其他函数。所以你也可以创建一种级联来实现你的目标。

    最后,我注意到你只使用write,也许你可以使用create来优化你的听众。