1

I was using firebase transactions to update a counter variable of a user.

 FirebaseDatabase.getInstance().getReference("users")
  .child(post.getUploader()).runTransaction(new Transaction.Handler() {
    @Override
    public Transaction.Result doTransaction(MutableData mutableData) {
        User user = mutableData.getValue(User.class);
        if (user == null) {
            return Transaction.success(mutableData);
        }

        user.setPoints(user.getPoints() + rateCount);

        mutableData.setValue(user);

        return Transaction.success(mutableData);
    }

Here is my "User" class:

public class User {
String name;
String phoneNumber;
int points;
int rank;
String userId;
String locale = "";
boolean canBeSentRequest;
String gender;
HashMap<String,Post> posts;
HashMap<String,Request> friends;

public User(){}

// Getter/Setter methods and constructors......

And here is a screenshot of my database: enter image description here

Whenever I run the transaction, it deletes the posts and friends node. Why does this happen? And how can I fix it?

Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
birukhimself
  • 193
  • 3
  • 14
  • Check [this](https://stackoverflow.com/questions/48307610/how-to-save-users-score-in-firebase-and-retrieve-it-in-real-time-in-android-stud). – Alex Mamo Apr 10 '18 at 09:12

0 Answers0