Firebaseデータベースに関数を追加しようとしています。変更するたびに、2つのプロパティを結合/更新します。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関数Getting Started(Add the makeUppercase() function)の例では、エンティティに到達するためにこれが実行されます参照:
event.data.ref.parent
私が間違ってchild()
機能を使用していますか?何か案は?