Firebase - Unity Add/Push on Database

I’m trying to add to a child within my Firebase Database;

112579-screen-shot-2018-03-08-at-104359.png

This is the layout, I just want to simply add another element after ‘2’. But every time I try and update/add, I end up clearing out the entire ‘attacks’ parent.

It seems to me that I have to download all the other elements/children, and then add my additional, and then update - which seems a waste on bandwidth.

Dictionary<string, object> childUpdates = new Dictionary<string, object>();
childUpdates["/battles/" + _userId + "/attacks/"] = 456;

_db.UpdateChildrenAsync( childUpdates );

I want to be able to do something like this;

childUpdates["/battles/" + _userId + "/attacks/"].Add(_attack_object)

Is this possible? Thanks

This might help you:

FirebaseDatabase.DefaultInstance.GetReference ("/battles/" + _userId + "/attacks/").Child ("3").SetValueAsync (0)

This will add another element as “3” after the element “2”.
Let me know if this helps.

- Steps:
1. Used RestClient for Unity on Asset Store
https://assetstore.unity.com/packages/tools/network/rest-client-for-unity-102501
2. Install into project.
3. Just One Example User contains email and score.


Create User.cs

   [System. Serillizable]
    public class User
     {
           public string email{get;set:}
            public int score{get;set;}
            public User() //Constructor
             {
               }
      }        

Create Handler.cs

    using Proyecto26;

    public class Handler: MonoBehaviour   {
   public static Handler Instance = null;
    Awake()   {
    Instance = this;   }

        public  void PostUser(User user, string userId)
   {
       RestClient.Put<User>(   
        $""+BaseURL+"users/"+userId+".json",user).Then(response
         => { Debug.Log("The user was successfully uploaded to the
           database");
       });
   }   }

  public void CallThisMethod()
   {
       User user = new User();
       user.email = "atul@gmail.com";
       user.score = 111;
      Handler.Instance.PostUser(user,"32");
   }