2017-03-05 54 views
0

我建立一個應用程序與離子2和AngularFire 2 我想每一個用戶點擊一個「投票」按鈕時,更新的對象。更新計數器,角火警2

更新固定數量的屬性是

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

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

沒有問題,但我想先得到當前的「票」,「全面」的屬性,然後遞增這些值

我試着有幾個選項與.subscribe或.forEach方法,但我認爲問題是在一個可觀察的異步屬性?

非常感謝

回答

0

我不知道有關$裁判的可能性...... 然後你可以使用所有的火力地堡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

僅供參考,您也可以使用['transaction'(https://firebase.google.com/docs/reference/js/firebase.database.Reference#transaction)。 – cartant