Вы используете AngularFire framework, который создает привязки пользовательского интерфейса поверх обычного SDK Firebase. Вы должны использовать его только для вещей, которые вы привязываете к элементам Углового интерфейса. Для всего остального вам, вероятно, лучше использовать Firebase's regular JavaScript SDK.
Если я правильно понимаю ваши требования, вы пытаетесь перекрыть все дочерние узлы в местоположении базы данных один раз и изменить свойство. Если это так:
ref.once('value', function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var child = childSnapshot.val();
childSnapshot.ref().update({ lastPoint: child.point - 1 });
});
});
соответствующие разделы документации Firebase находятся на reading data once и updating data.
Поскольку AngularFire построен поверх SDK Firebase, они отлично работают вместе. Поэтому, если в другом месте вы привязываете сообщения к области ($scope.posts = $firebaseArray(ref)
), они будут обновляться автоматически, когда вы обновляете последнюю точку с помощью вышеприведенного фрагмента.
вам нужно использовать $ save для сохранения изменений. –
@GopinathShiva Когда я использую $ save, он дает ошибку: undefined function. – user3288548