Firebase Cloud Function 在读取 JavaScript 中的节点时打印"undefined"?



这是在Firebase数据库中创建新消息时触发通知的函数的第一部分。

当我尝试从数据快照打印一个值时,我在控制台上得到以下输出。我是不是遗漏了什么?

fromId undefined

这是我的数据库结构:

"messages" : {
"-LJrd_EGOqbv0XqeNoJp" : {
"fromId" : "dBQd541pxlRypR7l1WT2utKVxdX3",
"message" : "hey ",
"timeStamp" : 1.534236972096062E9,
"toId" : "dBQd541pxlRypR7l1WT2utKVxdX2"
}
}

这是我的通知NewMessage Firebase云功能

exports.notifyNewMessage = functions.database.ref('/messages/{pushId}/{message}').onCreate((snap, context) => {
const messageSnap = snap.val(); 
const from_Id = messageSnap["fromId"];
console.log('fromId', from_Id);
});

您的代码现在正在message属性上触发,因此它只能访问特定的值。

要访问新消息的所有属性,请触发更高一级:

exports.notifyNewMessage = functions.database.ref('/messages/{pushId}').onCreate((snap, context) => {
const messageSnap = snap.val(); 
const from_Id = messageSnap["fromId"];
console.log('fromId', from_Id);
const message = messageSnap.message; // you can also use . notation
console.log('message', message);
});

相关内容

  • 没有找到相关文章

最新更新