Я использую базу данных Firebase Realtime.
У меня есть следующие данные в таблице лидеров:
Leaders:
0
Name: Michal
Score: 40
1
Name: David
Score: 35
2
Name: Rob
Score: 53

Я читаю данные, которые прекрасно работают, кроме того, что OrderByChild
не сортирует.
Я предполагаю, что это связано с сохранением с нумерацией массивов.
ПРИМЕЧАНИЕ : я не использую какой-либо метод bizzare для сохранения данных с массивом, но на самом деле пример Google, использующий транзакции с Unity, сказал, что, я ожидаю, что OrderByChild
будет работать. Транзакции, см. Внизу экрана
Это код, который извлекает данные:
FirebaseDatabase.DefaultInstance
.GetReference("Leaders").OrderByChild("score").GetValueAsync().ContinueWith(task =>
{
if (task.IsFaulted)
{
Debug.LogError("error in reading LeaderBoard from DB");
return;
}
else if (task.IsCompleted)
{
Debug.Log("Received values for Leaders.");
string JsonLeaderBaord = task.Result.GetRawJsonValue();
callback(JsonLeaderBaord);
}
}
Я пытался добавить правило onIndex
, но все равно, оно игнорирует порядок.