我想检索firebase数据库中的前5个最高点。我是firebase的新手,我在Unity中使用它。这是我的Firebase数据库的结构。
Balloon
答案 0 :(得分:0)
我对Firebase的解释不多,但是,我建议您使用方法OrderByValue()
和LimitToFirst()
您可以在Firebase Realtime DB中找到有关排序和过滤数据的更多信息:
link to firebase documentation
答案 1 :(得分:0)
嗨,以防万一像我这样的人遇到这个问题。
using System.Linq;
public static void Initialize()
{
database.GetReference(LEADERBOARDS).OrderByChild("score")
.LimitToLast(100).ValueChanged += HandleValueChanged;
}
static void HandleValueChanged(object sender, ValueChangedEventArgs args)
{
if (args.DatabaseError != null)
{
Debug.LogError(args.DatabaseError.Message);
return;
}
IEnumerable<DataSnapshot> snapshots = new List<DataSnapshot>(args.Snapshot.Children).Reverse<DataSnapshot>();
foreach(var child in snapshots)
{
var json = child.GetRawJsonValue();
HighScore hs = JsonUtility.FromJson<HighScore>(json);
Debug.Log(hs.displayName + "_" + hs.score);
}
}