0

FirebaseのCloud機能にOnDeleteトリガを使用しようとしています。ただし、データ(channel_idノード)が削除されても起動しません。私の現在のデータ構造はこうです。 enter image description hereOnDelete Firebaseトリガが起動しない

注:user_idは複数のchannel_idを持つことができます。このイメージは単なるスキーマです。また、次のコードを実行して、channel_idのノードが削除されているかどうかを確認します。

exports.deleteSubscriptionsFromFeed = functions.database.ref('/users_subscription/{userID}/{channelID}').onDelete(event => { 
    let channelID = event.data.previous.key; 
    let subscriberID = event.data.previous.ref.parent.key; 
    console.log(channelID); 
    console.log("here"); 
    ... 
}); 

これは解雇されず、私はそれを動作させる方法を理解しようとしています。詳細については、私もOnCreate関数を実行していますが、それは起動します。だからOnDeleteがうまくいかない理由はわかりません。

exports.addSubscriptionsToFeed = functions.database.ref('/users_subscription/{userID}/{channelID}').onCreate(event => { 
    let channelID = event.data.key; 
    let subscriberID = event.data.ref.parent.key; 
    ... 
}); 

これについての助けに感謝します。

+0

あなたのpackage.jsonに示されているfirebase-functionsノードモジュールのバージョンは? –

+0

Firebase-functionsには0.5.7、firebase-adminには4.2.1を使用しています。 – ndduong

答えて

3

Create、onUpdate、onDeleteのデータベース・トリガーにアクセスするには、firebase-functionsモジュール0.5.9以降を使用する必要があります。この執筆時点では、最新は0.6.0です。モジュールをnpm upgradeで更新するか、package.jsonが存在するfunctionsディレクトリのnpm install [email protected]のような特定のバージョンを選択してください。

twitterで@FirebaseReleaseに従うことで、最新のFirebase関連機能を最新の状態にすることができます。 Firebaseのクラウド機能はベータ版であるため、新しい機能が追加され、バグが修正されるたびに頻繁に更新が期待できます。

また、firebase-adminの最新バージョンは5.0.1です。これはfirebase-functions 0.6.0の依存関係です。

+0

ありがとう!私は今すぐ走ったが、何かダウンロードしているようには見えない。私はpackage.jsonが存在する関数フォルダからnpm upgradeを実行しています。 編集:私はnpmを実行しました。[email protected]をインストールし、npmは[email protected]を別途インストールしてダウンロードしました。しかし、package.jsonファイルはバージョン番号を変更しません。あなたはこれを修正する方法を知っていますか? – ndduong

+0

間違いなくpackage.jsonを変更する必要があります。私はバージョンを変更するたびにそれを行います。私はなぜそれが変わらないのか分からない... –

+0

私はドキュメントを見て、私はちょうどこれらの2つの行を代わりに実行した:npm install - save firebase-functionsとnpm install -g firebase-tools。 0.6.0または5.0.1に更新されないため、まだリリースされていませんか? – ndduong

0

ルートノードが更新されたときにOnDeleteがトリガーされないという問題がありました。たとえば、channel_idの値を明示的に削除または設定する代わりに、新しい辞書でuser_idの値を設定するだけでした。

+0

これは更新であり、削除ではありません。削除とは、提供された場所にデータが存在しないことを意味します。 –

関連する問題