假设我在Firebase数据库中有以下数据。需要这些数据才能快速查看特定游戏中的2名玩家。
现在我想用一个查询更新John Doe的名称(user-ID = UID-1)。理想情况下,有一种方法可以做这样的事情。显然这是伪代码......: - )
Traceback (most recent call last):
File "F:\sklearnproject\OpenPickle.py", line 12, in <module>
data1 = cPickle.load(pkl_file)
cPickle.UnpicklingError: invalid load key, 'Z'.
Firebase.ref('/game-players/*/UID-1').update("John with a different Doe")
这可以通过首先检查玩家参与的所有游戏来解决(因为该数据可用于树的不同分支),但我不喜欢必须基于生成大量不同查询的想法关于那些数据。
任何可以让我朝着正确方向前进的想法?
答案 0 :(得分:0)
您应该更改数据结构。
players:
|--uidxx
|---- name
|---- surname
|---- ...
|--uidx2
|---- name
|---- surname
|---- ...
game-players :
|-- game-1 :
|---- uidxx : true,
|---- uidx2 : true,
在players
节点中,您为所有玩家提供了数据(例如名称)
在gameplayers
节点中,您只使用播放器的uid
而不是数据
通过这种方式,您只需更新播放器节点中的数据而无需查询所有游戏。