Firebase のリストで最も優先度の高い子を取得したいのですが、すべての子をクライアントに保持することなく、どのようにすればよいですか?
私が考えることができる1つの方法は、リンクされたリストのようなデータ構造をfirebaseに直接維持することです:
head: 0
nodes:
0: {next: 10}, priority=1
10: {next: 4}, priority=23
4: {next: 2}, priority=45
2: {next: null}, priority=67
次に、0 の優先度を に更新するとします。これによりでイベントが46
トリガーされ、それに応じてノード 0、10、および 2 のヘッド ポインタと次のポインタが更新されます...on('child_moved')
prevChildName=4
もう 1 つの方法は、ID のリストを 1 か所に保持し、それに応じて更新することです。
list: "0, 10, 4, 2"
しかし、リストが大きくなるにつれて、各更新は帯域幅の点で非常にコストがかかります.
これを行うより良い方法はありますか?