我是Firebase实时数据库的新手。我已经构建好游戏了,但是我有些担心。
我正在使用根Players
,并且打算为每个玩家存储几个数据。例如:Players/User ID/[level, score, XP, etc..]
。我正在使用推方法,应该考虑交易吗?据我了解,既然只有1个玩家要写自己的数据,那么推送似乎足够了?我说的对吗?
对于数据库,我只想更新玩家数据(完成每个游戏后,数据都会更新),所以我还需要密钥吗?老实说,就我而言,我仍然不理解键的必要性:)如果我不使用键,会发生什么情况,因为每个玩家只有1组数据?
如果密钥是必需的(尽管我仍然不明白:)),我应该如何从结构(childUpdates["/Players/" + uid + "/" + key]
)中读取最新数据?因为密钥是特定的,并且在检索数据时我不知道该密钥,所以如何使用它来检索数据?
预先感谢
答案 0 :(得分:1)
当多个用户几乎同时更新同一数据时,事务很有用。如果只有一个用户要更新数据,则无需使用事务。
在某个位置调用Push()
时,Firebase会在该位置下自动生成一个新的唯一子节点。如果您只想为每个玩家存储一组属性(level
,score
等),则不应调用push,而应直接在该位置调用SetValueAsync()
。>