作者:akun | 来源:互联网 | 2023-02-06 10:54
我试图使用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);
});
两个第一个日志都包含相同的key(series
),它实际上是附加新数据的父节点的键,而不是新数据键(以古怪的形式-adfaa123sdfasdf
).最后一个日志打印一个Firebase结构,其中包含新数据以及_data属性中生成的密钥,但是无法访问它.
虽然这可以在请求后手动完成,但我没有看到它以数据库触发方式自动完成.
1> Frank van Pu..:
要获取生成的密钥,请在特定子项上触发函数:
exports.OnNewSeries= functions.database.ref('/series/{id}').onWrite(event => {
console.log(event.params.id);
});
另请参阅有关处理数据库事件的Firebase文档.