【发布时间】:2020-03-05 16:51:37
【问题描述】:
我在 Unity 中使用 Firebase,我正在尝试更新播放器节点中的几个值。播放器有多个节点,但可以说我只想更新名称和年龄。 问题是根据文档更新多个数据会导致删除其他未更新的播放器节点。 (即只更新姓名和年龄时,分数会被删除)
我尝试同时使用 SetRawJsonValueAsync 和 UpdateChildrenAsync 并且都删除了其他播放器节点。文档说 UpdateChildrenAsync 不应该明确删除其他节点。
https://firebase.google.com/docs/database/unity/save-data
我的问题是我是否做错了什么,因为这应该可以工作,或者还有其他方法可以仅更新特定节点而不删除其他节点。我只是在寻找像 JS 一样的简单更新。 ( .update({ name: "Jack", age: 20}) )
我的代码
PlayerData newServerData = new ServerPlayerData(name, age);
Dictionary<string, object> newServerDataD = newServerData.ToDictionary();
Dictionary<string, object> childUpdates = new Dictionary<string, object>();
childUpdates["User"] = newServerDataD;
FirebaseDatabase.DefaultInstance.GetReference("")
.UpdateChildrenAsync(childUpdates)
.ContinueWithOnMainThread(taskUpdate => { ....
【问题讨论】: