Функция Firebase onWrite не вызывается

Я пытаюсь реализовать триггер с использованием функций 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;
    });

Но я даже не могу его запустить. Любые подсказки, что не так с моей функцией? Могу поспорить, что это связано со ссылкой, но я не могу понять, что именно.


person josemigallas    schedule 16.10.2017    source источник


Ответы (1)


Прямо сейчас функция запускается записью в

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}')
person Jen Person    schedule 16.10.2017