【问题标题】:Firebase database on push get id推送获取 ID 的 Firebase 数据库
【发布时间】:2017-04-19 19:53:35
【问题描述】:

我正在尝试使用 onWrite 方法在 Firebase 上模拟插入触发器。插入是通过 POST 请求完成的,因为我正在对其进行测试(我发现检查数据库触发器的最简单方法)。触发器包括将 Firebase 生成的 ID 作为新属性写入插入的数据中。

我的云功能是这样的:

exports.onNewSeries = functions.database.ref('/series').onWrite(event => {
    "use strict";
    console.log(event.data.key);
    console.log(event.data.current.key);
    console.log(event.data.current);
});

两个第一条日志都包含相同的键(series),它实际上是附加新数据的父节点的键,而不是新的数据键(-adfaa123sdfasdf 的古怪形式)。最后一个日志打印了一个 Firebase 结构,其中包含新数据以及 _data 属性中生成的密钥,但是它不可访问。

虽然这可以在请求后手动完成,但我还没有看到它以数据库触发方式自动完成。

【问题讨论】:

    标签: javascript firebase firebase-realtime-database google-cloud-functions


    【解决方案1】:

    要获取生成的密钥,请在特定子项上触发函数:

    exports.onNewSeries = functions.database.ref('/series/{id}').onWrite(event => {
        console.log(event.params.id);
    });
    

    另见Firebase documentation on handling database events

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-26
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 1970-01-01
      • 2018-08-06
      相关资源
      最近更新 更多