推送通知"TypeError: Cannot read property 'val' of undefined"



嗨,我对此很陌生。

这是我在Firebase上的数据树:

我正试图访问";目击事件";这是我的云函数代码。

const functions = require('firebase-functions');
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
exports.announceSighting = functions.database
.ref('sightings/{sightingId}')
.onCreate(event => {
const sighting = event.data.val()
sendNotification(sighting)
})
function sendNotification(sighting) {
const name = sighting.name
const payload = {
notification: {
title: 'New Sighting Available',
body: 'Hi',
// body: title + name,
sound: 'default'
}
}
console.log(payload)
const topic = "Sightings"
admin.messaging().sendToTopic(topic, payload)
}

据我所知,我正在通过.ref('sightings/{sightingId}')sightingId收听新节点,这是我从教程中解释的,因为父节点的名称是viewing,但我不知道我应该在这里放什么来表明我正在寻找sighting下的孩子

这是我得到的错误:

非常感谢你的帮助。

根据文档,您应该使用快照来获取创建对象的数据,如下所示:

exports.announceSighting = functions.database.ref('/sightings/{sightingId}')
.onCreate((snapshot, context) => {
const sighting = snapshot.val();
sendNotification(sighting)
});

相关内容

最新更新