У меня есть простая транзакция, которая должна вернуть счетчик дочернего узла, хранящийся в моей базе данных в реальном времени, и увеличить его. Возможно, стоит отметить, что эта транзакция находится внутри функции onWrite облака базы данных.
Проблема в том, что возвращаемые данные являются нулевыми. Я знаю, что это возможно, когда данные клиента устарели, но функция завершается без ошибок, а зафиксировано неверно.
Когда я использую ту же ссылку для получения снимка данных, возвращается правильное значение.
var ref = admin.database(devDB).ref('/path/to/countValue');
ref.transaction(function(count) {
if(count != null) {
var newCount = count + 1;
return newCount;
}
}, function(error, committed, ss) {
if(error) {
console.log('error: ', error);
}
console.log('committed: ', committed);
});