child_added仅适用于使用Firebase云功能的新项目

时间:2017-06-23 00:06:40

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

我在下面使用此代码(无语法或任何其他错误),但此代码的输出显示/server/name下的所有结果:

即:

We have a new event:
  { des: 'test123', name: 'Test', nice: 'wew' } lol 

以下是functions / index.js中的代码:

exports.sendFollowerNotification = functions.database.ref('/server/name').onWrite(event => {


 admin.database().ref("/server/name").limitToLast(1).on('child_added', function(snapshot) {

 console.log('We have a new event:', snapshot.val());


   });

以下是数据库:

enter image description here

更新2:

   exports.sendFollowerNotification = functions.database.ref('/server/name/{num}').onWrite(event => {

console.log('We have a new event:', event.data.val(), 'lol');
});

日志输出:

更新3:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

目前,触发器在路径中的位置高于您想要的位置。

相反,如果您计划要监听多个事件列表,这只是众多列表中的一个,请使用通配符:

exports.sendFollowerNotification = functions.database.ref('/server/name/{num}/{notification}').onWrite(event => {
    ...
})

您可以选择更符合您特定代码的通配符名称。