Transactions are currently an experimental feature as they can not be integrated as easily as the other Firebase features. Please see the Firebase documentation for full implemtation details.
const ref = firebase.database().ref('user/posts');
ref.transaction((posts) => {
return (posts || 0) + 1;
}, (error, committed, snapshot) => {
if (error) {
console.log('Something went wrong', error);
} else if (!committed) {
console.log('Aborted'); // Returning undefined will trigger this
} else {
console.log('User posts incremented by 1');
}
console.log('User posts is now: ', snapshot.val());
});