I’m trying to add to a child within my Firebase Database;
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");
}