我想将值推送到存储在firebase数据库中的嵌套数组。目标如下:
我查询firebase数据库并接收快照。有了这个快照,我想存储我的更改。如果我按下新值,它会在firebase中创建我:
如何避免使用唯一的FB ID并将其替换为普通的索引计数器?
来自角度服务的代码:
//Save StarBewertung on Mamis
this.saveStarOnMami = function (data) {
var ref = new Firebase("https://incandescent-heat-5149.firebaseio.com/contacts")
var query = ref.orderByChild("id").equalTo(data).on("child_added", function(snapshot) {
if( snapshot.val() === null ) {
/* does not exist */
} else {
//snapshot.ref().update({"phone_fixed": '123'});
snapshot.ref().child('rateData').push(1);
}
});
}
有没有办法将快照作为$ firebaseobject获取,操作它,然后使用$ save将其保存到Firebase数据库?
...谢谢
答案 0 :(得分:1)
dbRef.push()
将始终使用新UID作为键附加数据。
请改用dbRef.update()
或dbRef.set()
。
示例(未经测试)
var rateSnapshot = snapshot.child('rateData');
if( rateSnapshot.val() === null ) { // rateData key does not exist
rateSnapshot.ref().set([5]);
} else {
var rates = rateSnapshot.val(); //should be an array
rates.push(1); //append new value to the array
rateSnapshot.ref().set(rates);
}