我試圖在我的Firebase數據庫中添加一個函數,該函數在更改時創建/更新兩個其他屬性的組合屬性。Firebase函數:無法讀取未定義的屬性'val'
的模型是這樣的:
database/
sessions/
id/
day = "1"
room = "A100"
day_room = "1_A100"
到目前爲止我的功能:
exports.combineOnDayChange = functions.database
.ref('/sessions/{sessionId}/day')
.onWrite(event => {
if (!event.data.exists()) {
return;
}
const day = event.data.val();
const room = event.data.ref.parent.child('room').data.val();
console.log(`Day: ${day}, Room: ${room}`)
return event.data.ref.parent.child("day_room").set(`${day}_${room}`)
});
exports.combineOnRoomChange = functions.database
.ref('/sessions/{sessionId}/room')
.onWrite(event => {
if (!event.data.exists()) {
return;
}
const room = event.data.val();
const day = event.data.ref.parent.child('day').data.val();
console.log(`Day: ${day}, Room: ${room}`)
return event.data.ref.parent.child("day_room").set(`${day}_${room}`)
});
但它拋出這個錯誤:
TypeError: Cannot read property 'val' of undefined
我正在關注的第一個Firebase函數入門(Add the makeUppercase() function)中的示例,這是它爲了達到實體參考:
event.data.ref.parent
我是否錯誤地使用child()
函數?有任何想法嗎?