Javascript 基于推送获取id的Firebase数据库

Javascript 基于推送获取id的Firebase数据库,javascript,firebase,firebase-realtime-database,google-cloud-functions,Javascript,Firebase,Firebase Realtime Database,Google Cloud Functions,我正在尝试使用该方法模拟Firebase上的插入触发器。插入是通过POST请求完成的,因为我正在测试它(我找到的检查数据库触发器的最简单方法)。触发器包括将Firebase生成的ID作为新属性写入插入的数据中 我的云功能是: exports.onNewSeries = functions.database.ref('/series').onWrite(event => { "use strict"; console.log(event.data.key); cons

我正在尝试使用该方法模拟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);
});
两个第一个日志都包含相同的键(
系列
),它实际上是附加新数据的父节点的键,而不是新数据键(以
-adfaa123sdfasdf
的奇怪形式)。最后一个日志打印一个Firebase结构,其中包含新数据以及_数据属性中生成的密钥,但无法访问


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

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

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

另请参见。

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

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