Получить пользовательские данные, чтобы сделать списки лидеров в Firebase iOS - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь создать таблицу лидеров, используя базу данных Google Firebase, и я успешно добавил своих пользователей и их оценки в базу данных, как показано на рисунке ниже. Я пытаюсь получить данные от Лица 1 до Лица 8 в массив в моем коде, а затем оттуда я могу отсортировать их и добавить в свою таблицу лидеров. Однако я не уверен, как можно систематически получать пользователей и их оценки, не зная их дочерних имен, поскольку пользователи будут вводить свои собственные имена. Любая помощь приветствуется.

Picture of my Firebase Database

1 Ответ

0 голосов
/ 14 мая 2018

Это должно получить / распечатать пользователей в порядке возрастания оценки.

  usersRef.queryOrderedByValue().observe(.value, with: { (snapshot) in
      for child in snapshot.children {
          print((child as! DataSnapshot).key)
      }
  })

Для меня это печатает:

Человек 4

Человек 1

Человек 2

Персона 3

Персона 5

Персона 7

Персона 6

Человек 8

Для списка лидеров вы, вероятно, захотите ограничить количество пользователей, которых вы получаете:

_usersRef.queryOrderedByValue().queryLimited(toLast: 10).observe(.value) { snapshot in
  ...

Это просто вернет 10 лучших результатов, все еще печатая их в порядке возрастания. Чтобы получить их в порядке убывания, вам придется обратить их в клиенте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...