我正在尝试使用Firebase函数实现触发器,这会复制数据库中的某些数据。我想在votes/user/vote
观看所有添加内容,结构是:
我尝试的代码是:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.duplicateFeedback = functions.database.ref('/votes/{userId}/voteId')
.onWrite(event => {
const userId = event.params.userId;
const voteId = event.data.key();
const vote = event.data.val();
console.log(`New feedback from user ${userId}: { description: "${vote.feedback}", score: ${vote.rating}}`);
return;
});
但我甚至无法触发..任何线索我的功能有什么问题?我打赌与参考有关,但我无法弄清楚到底是什么。
答案 0 :(得分:4)
现在,该功能由写入
触发exports.duplicateFeedback = functions.database.ref('/votes/{userId}/voteId')
将由以下内容触发:
votes: {
00000_josemi_foo: {
voteId: {
// data
}
}
}
但是你没有找到孩子voteId
,你正在寻找{userId}
的任何孩子,例如-33
,所以你需要使用通配符:
exports.duplicateFeedback = functions.database.ref('/votes/{userId}/{voteId}')