Как получить {pushId} с помощью облачных функций Firebase?

Я изучаю облачные функции Firebase. У меня есть функция, которая выглядит так:

exports.gameLoopBeing = functions.database.ref('/tables/{pushId}/gamestarted')
    .onWrite(event => {
    //I want to retrieve the pushID        
    console.log(event.data.pushID);

});

event.data.pushID явно не работает. Как получить pushID? Я просмотрел документы и ничего не нашел.

Для тех, кто не знает, что это pushId. Эта функция слушает каждое изменение, сделанное внутри элементов внутри /table. Например:

  • в /table/1 pushId равен 1
  • в /table/2 pushId равен 2
  • в /table/N pushID равен N

person Display name    schedule 27.05.2017    source источник


Ответы (2)


Подстановочные знаки в пути ссылки предоставляются в объекте события params. :

exports.gameLoopBeing = functions.database.ref('/tables/{pushId}/gamestarted')
    .onWrite(event => {
    //I want to retrieve the pushID        
    console.log(event.params.pushId);

});
person Bob Snyder    schedule 27.05.2017

person    schedule
comment
Хотя этот код может ответить на вопрос, было бы лучше включить некоторый контекст, объясняющий, как это работает и когда его использовать. Ответы, содержащие только код, в долгосрочной перспективе бесполезны. - person stop-cran; 26.11.2018
comment
onWrite(), который срабатывает, когда данные создаются, обновляются или удаляются в базе данных реального времени firebase. Он будет отвечать на два параметра, первый параметр — это объект Change, который содержит два снимка, которые представляют состояние данных до и после запускающего события. const before = change.before.val(); const after = change.after.val(); Для справки [firebase.google.com/docs/functions/database-events ] - person Anjusha T Shaju; 28.11.2018