Firebase从数据库读取最新数据

时间:2019-03-17 08:04:25

标签: unity3d firebase-realtime-database

我是Firebase实时数据库的新手。我已经构建好游戏了,但是我有些担心。

  1. 我正在使用根Players,并且打算为每个玩家存储几个数据。例如:Players/User ID/[level, score, XP, etc..]。我正在使用推方法,应该考虑交易吗?据我了解,既然只有1个玩家要写自己的数据,那么推送似乎足够了?我说的对吗?

  2. 对于数据库,我只想更新玩家数据(完成每个游戏后,数据都会更新),所以我还需要密钥吗?老实说,就我而言,我仍然不理解键的必要性:)如果我不使用键,会发生什么情况,因为每个玩家只有1组数据?

  3. 如果密钥是必需的(尽管我仍然不明白:)),我应该如何从结构(childUpdates["/Players/" + uid + "/" + key])中读取最新数据?因为密钥是特定的,并且在检索数据时我不知道该密钥,所以如何使用它来检索数据?

My Database

enter image description here

预先感谢

1 个答案:

答案 0 :(得分:1)

当多个用户几乎同时更新同一数据时,事务很有用。如果只有一个用户要更新数据,则无需使用事务。

在某个位置调用Push()时,Firebase会在该位置下自动生成一个新的唯一子节点。如果您只想为每个玩家存储一组属性(levelscore等),则不应调用push,而应直接在该位置调用SetValueAsync()