javascript - 推送通知的“TypeError:无法读取未定义的属性 'val'”
问题描述
嗨,我对此很陌生。
我正在尝试访问“目击”下新创建的节点,这是我的云功能代码。
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收听新节点,这是我从教程中解释的,因为父母的名字是sightings,但我不知道我应该放什么来表明我正在寻找孩子目击下
非常感谢您的帮助。
解决方案
根据文档,您应该使用快照来获取创建对象的数据,如下所示:
exports.announceSighting = functions.database.ref('/sightings/{sightingId}')
.onCreate((snapshot, context) => {
const sighting = snapshot.val();
sendNotification(sighting)
});
推荐阅读
- git - TFSVC 到 TFS-Git 与同一仓库中的子项目
- python - pd.date_range 在月底返回开始值,然后继续每月日期?
- c# - 使用 console.readline 保持进程存活时如何读取控制台输入?
- keras - 如何理解卷积模型
- javascript - 想要绕过仅包含网址的页面加载弹出窗口
- python - 修改 pivot_tables 中的 aggfunctions
- python - 如何解决用户和模型问题?
- php - 我想获得特定的搜索结果,而不是任何类似的词
- c# - 在 ASP.NET Core 中使用基于 ADFS 的身份验证来访问使用 Windows 身份验证的 SQL Server?
- python - np.loadtxt() 无法将 str 转换为 float 错误