Firebase的云功能 - 在onWrite操作中从事件对象获取数据?

时间:2017-05-26 14:44:57

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

我有这样的数据库结构:

{
  oneToOneChat:{
      chatRoomId{
           chatMessageId{
               text:...
               receiver:...
           },

           chatMessageId{
               text:...
               receiver:...
           }
       },
      chatRoomId{}
  }
}

每当在任何聊天室下添加消息时,我想获取添加的消息,以便我获得接收者ID以向他发送通知

我试过这个:

exports.sendNotification = functions.database.ref('/oneToOne/{pushId}')
        .onWrite(event => {
         //get message object
        //send notification
    }

我应该使用哪些属性来访问消息对象?

1 个答案:

答案 0 :(得分:1)

您可以使用data properties。数据的性质取决于事件类型(这里是实时数据库事件),因此它是deltasnapshot。 所以你可以使用像

这样的东西
exports.sendNotification = functions.database.ref('/oneToOneChat/{pushId}')
        .onWrite(event => {
          var value = event.data.val()
        //send notification
    }

链接的Firebase文档还提供了可以从deltasnapshot中提取的其他信息。