yoko0180
10/23/2017 - 3:32 PM

Firebase Cloud Funtions 更新カウントサンプル

Firebase Cloud Funtions 更新カウントサンプル

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

// onWrite()  データが作成、破棄、または変更されるとトリガーされます。
// onCreate() 新しいデータが作成されるとトリガーされます。
// onUpdate() データが更新されるとトリガーされます。
// onDelete() データが削除されるとトリガーされます。
exports.countEdit = functions.database.ref('/posts/{uid}')
.onUpdate(event => {
  var uid = event.params.uid;
  console.log('uid', uid);

  // Firebase Realtime Databaseへの書き込みなど、関数内で非同期タスクを実行するときはPromiseを返す必要があります。

    var ref = admin.database().ref(`/edit_count/${uid}`);
    return ref.once('value')
        .then( (snap) => {
            if(snap.exists()) {
                var cnt = snap.val();
                console.log('cnt', cnt);
                cnt.value++
                return ref.set(cnt);
            } else {
                return ref.set({value:1});
            }
        })
});