Firebase云功能已停止工作 - event.data undefined

时间:2018-04-25 09:24:57

标签: javascript node.js firebase firebase-realtime-database google-cloud-functions

我有一些云功能,但他们突然停止工作,现在我得到event.data undefined

exports.newMessageReceived = functions.database.ref('/messages/{pushId}')
 .onWrite((event) => {

    if (event.data.previous.exists() || !event.data.exists() ) {
        //Do nothing if data is edited or deleted
        console.log('Message edited or deleted - skip');
        return;
    }
   ...
}

我得到了

TypeError: Cannot read property 'previous' of undefined

这就是here的定义方式。 firebase云功能有什么变化吗?

2 个答案:

答案 0 :(得分:4)

云功能已更新至1.0版,您可以在此处查看更多信息:

https://firebase.google.com/docs/functions/beta-v1-diff#realtime-database

关于这个问题,您需要将代码更改为:

@Repository public interface UserRepository extends JpaRepository {

@Repository public interface UserRepository extends JpaRepository<User,<data_type_primary_key>> { 现在有两个参数exports.newMessageReceived = functions.database.ref('/messages/{pushId}').onWrite((change,context) => { if (change.before.exists() || !change.after.exists() ) { //Do nothing if data is edited or deleted console.log('Message edited or deleted - skip'); return; } } onWritechangecontextChange个属性,before等同于after

beforeprevious也可以使用此处列出的方法:

https://firebase.google.com/docs/reference/admin/node/admin.database.DataSnapshot

答案 1 :(得分:0)

我有同样的问题。

这是一个firebase文档,显示了对新v1进行的更改

https://firebase.google.com/docs/functions/beta-v1-diff