Firebase的云功能 - event.data读取特殊值

时间:2017-05-26 18:40:15

标签: node.js firebase firebase-realtime-database google-cloud-functions

我目前正在学习使用firebase中的云功能,并且遇到以下问题:

在我的数据库中,我所指的结构如下:

  • 水果
    • RandomFruitID
      • fruitID:RandomFruitID

在我的index.js中,我想创建函数:

    exports.newFruit = functions.database.ref("fruits").onWrite(event => {
    (...)

    // INSIDE HERE I WANT TO ACCESS THE "fruitID" VALUE, MEANING THE "RandomFruitID"
    });

我怎样才能实现这一目标?

祝福

1 个答案:

答案 0 :(得分:1)

您当前的功能会触发/fruits下的任何更改。因此,没有当前 fruitID值。

如果要在编写特定水果时触发,则需要将触发器更改为fruits/{fruidId}。这也使您的代码中可以使用fruitId的值:

exports.newFruit = functions.database.ref("fruits/{fruitId}").onWrite(event => {
  if (!event.data.previous.exists()) {
    var newFruitKey = event.params.fruitId;
    ...
  }
});

我建议阅读Firebase documentation for Database triggered functions,其中涵盖了很多此类案例。