2017-05-09 95 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; 
});