私は参照パス上に新しく追加された子ノードのトリガを取得し、新しいデータだけの値を取得しようとしています。しかし、event.data.val
はその参照パスのすべての値を返します。続きfirebaseデータベースに新しく追加された子ノードのイベントを取得します
は、私が使用しています雲の機能コードです:
exports.sendOfferNotification = functions.database.ref('/Users/{uid}/offers/New').onWrite(event => {
// Only edit data when it is first created.
// if (event.data.previous.exists()) {
// return;
// }
// Exit when the data is deleted.
if (!event.data.exists()) {
return;
}
// Grab the current value of what was written to the Realtime Database.
const original = event.data.val();
console.log('New offer', event.params.uid, original);
});
私はonUpdate
代わりのonWrite
が、それでも同じ結果を使用してみました。
onWrite()データベーストリガーは、その場所の下にあるものが変更されたときは常に、ref()で指定した場所のすべてのデータを受け取ります。 –
ええと、私は同意しますが、onUpdate()も同じように動作します。新しく追加されたデータだけをどうやって得ることができるのか?たとえば、/ Newの下に既に4つのオファーがあり、5つ目のオファーが追加された場合は、5番目のデータを取得するだけです –