Firebase函数onWrite未被调用

时间:2017-10-16 15:26:55

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

我正在尝试使用Firebase函数实现触发器,这会复制数据库中的某些数据。我想在votes/user/vote观看所有添加内容,结构是:

enter image description here

我尝试的代码是:

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;
    });

但我甚至无法触发..任何线索我的功能有什么问题?我打赌与参考有关,但我无法弄清楚到底是什么。

1 个答案:

答案 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}')