2017-05-09 126 views
0

我想向Firebase數據庫添加一個簡單的事務,但是,我沒有運氣來解決每個帳戶的Firebase生成的密鑰。這裏是我的JSON:Firebase重要參考

{ 
    "accounts" : { 
    "-KRPSyO4B48IpBnHBTYg" : { 
     "newRecord" : "100", 
     "email" : "", 
     "provider" : "", 
     "userId" : "" 
    } 
    }, 
    "products" : { 
    "-KUKRafaNurpFhGF4jQa" : { 
     "name" : "" 
    } 
    }, 
} 

我想向計爲「newRecord」添加到同一級別用戶id,供應商和電子郵件。然而,我對以下或迄今爲止的任何變化都不成功:

firebase.database().ref('accounts/' + accounts.id).transaction(function(value) { 
    if (value) { 
    value.newRecord++; 

    } 
    return value; 

}); 

在此先感謝!

+0

你的'accounts'對象是什麼樣的?如果它是您顯示的JSON的JavaScript等價物,那麼'accounts.id'是未定義的 - 'accounts'對象中沒有'id'屬性。所以,看起來您正在有效地在無效的Firebase參考資料上創建交易。 – eyeezzi

+0

是的,這就是那條線發生的事情.. – MacD

回答

1

您應該在使用事務時直接引用該值。

firebase.database().ref('accounts/' + accounts.id+'/newRecord').transaction(function(value) { 
if (value) { 
value++; 
} 
return value; 
});