2017-03-05 6 views
0

Ionic 2とAngularFire 2を使用してアプリケーションを構築しています ユーザーが「投票」ボタンを押すたびにオブジェクトを更新したいと思います。固定数を持つプロパティを更新Anger Fire 2を搭載したFirebaseのアップデートカウンタ

let userRate = 8 
    this.currentBeer = this.af.database.object('/beers/' + scannedText); 

    this.currentBeer.update({ 
    votes: 35, 
    total: 642 
    }) 

でも問題ありません。しかし、私は最初に現在の「票」と「合計」プロパティを取得した後、私が試したこれらの値

をインクリメントしたいです.subscribeや.forEachメソッドでいくつかのオプションがありますが、問題はobservableのasyncプロパティにあると思いますか?私は$ refの可能性については知らなかった

どうもありがとう

答えて

0

... その後、あなたはすべてのFirebase APIに

を使用することができます。このコードは私のために仕事をした:

this.currentBeer = this.af.database.object('/beers/' + scannedText); 

    this.currentBeer.$ref.once('value') 
    .then(snapshot => { 
     let obj = snapshot.val() 
     this.currentBeer.update({ 
     total: obj.total + userRating, 
     votes: obj.votes + 1 
     }) 
    }) 
+0

FYIでは、['transaction'](https://firebase.google.com/docs/reference/js/firebase.database.Reference#transaction)を使用することもできます。 – cartant

関連する問題