2014-11-24 4 views
0

Попытка обновления информации в узле путем добавления суммы к текущей стоимости. Я не могу найти способ ссылаться на текущее значение, поэтому я могу добавить свое значение. Как вы можете назвать текущее значение?Получить текущее значение узла Firebase? (Использование AngularJS)

.update({total: "current-value?" + $scope.user.amount}).then(function() {  
    }); 
+1

Что вы пытаетесь добавить? Обновление значений в базе данных реального времени сложно, потому что вы можете столкнуться с условиями гонки. Если вы не используете транзакции или списки, вы, вероятно, не получите требуемое значение. –

+0

Я пытаюсь добавить число к числу, поэтому текущее значение может быть 0 или 18 и т. Д. Похоже, я могу вызывать текущее значение с помощью функции, а затем использовать транзакцию для добавления числа. Мне просто интересно, есть ли переменная, которая будет вызывать текущее значение. – Alteredorange

+0

'' текущая стоимость? " + $ scope.user.amount создает строку 'current-value? n', где' n' - это сумма; он не выполняет арифметическое дополнение. Ваш вопрос немного на стороне берега. Возможно, добавьте какой-нибудь реальный код, который мы можем запустить и увидеть проблему? – Kato

ответ

0

Как это выглядит, как вы не можете быть в состоянии вывести текущее значение узла без использования функции, то есть то, что я сделал:

snap.ref().child('gold/total').transaction(function(currentVal) { 
     return (currentVal || 0) + $scope.user.amount; 
    }); 

Текущее значение узла захватывается с «currentVal», а затем его можно передать так, чтобы сложение было выполнено.

Смежные вопросы