いくつかのクラウド機能がありますが、突然機能しなくなり、event.dataが未定義になりました
exports.newMessageReceived = functions.database.ref('/messages/{pushId}')
.onWrite((event) => {
if (event.data.previous.exists() || !event.data.exists() ) {
//Do nothing if data is edited or deleted
console.log('Message edited or deleted - skip');
return;
}
...
}
そして、私は得る
TypeError: Cannot read property 'previous' of undefined
クラウド機能がバージョン1.0に更新されました。詳細については、こちらを確認してください。
https://firebase.google.com/docs/functions/beta-v1-diff#realtime-database
質問に関しては、コードを次のように変更する必要があります。
exports.newMessageReceived = functions.database.ref('/messages/{pushId}').onWrite((change,context) => {
if (change.before.exists() || !change.after.exists() ) {
//Do nothing if data is edited or deleted
console.log('Message edited or deleted - skip');
return;
}
}
onWrite
現在、2つのパラメータchange
とがありcontext
ます。とプロパティChange
がbefore
ありafter
、とbefore
同等ですprevious
またchange
、before
ここにリストされている方法を使用できます。
https://firebase.google.com/docs/reference/admin/node/admin.database.DataSnapshot
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加