嗨,我对此很陌生。
这是我在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)
});