Я использую метод angularfire $add для добавления базовых объектов js в форме {id:integer,name:name} Теперь, если я хочу обновить определенный элемент (который обычно имеет ключ, назначенный firebase, например "-JEcA_f70efHbKi5js7j" или что-то в этом роде , у меня сложилось впечатление, что я должен использовать метод $save Вот как я пытаюсь это сделать:
$scope.chosenColors = $firebase(myChosenColorsRef);
$scope.updateColor = function(data){ //data is a JS object like {id:'id',name:'name'}
if($scope.chosenColors.$getIndex().length>0){
var keys = $scope.chosenColors.$getIndex();
keys.forEach(function(key, i) {
if($scope.chosenColors[key].id!=data.id){//if id matches I want to update name
$scope.chosenColors[key] = {id:data.id,name:data.name}
$scope.chosenColors.$save[key];
return;
}
});
}else{
$scope.chosenColors.$add(data);
}
Но это, похоже, не влияет на базу огня... есть идеи, что я делаю неправильно?