Запрос пользователей по имени или адресу электронной почты с помощью Firebase (Swift)

Я совсем новичок вFirebase а такжестриж и у меня возникли некоторые проблемы, когда дело доходит до запросов. Так что я бы хотел сделать две вещи:

Запросить моих пользователей инайти только те, которые содержат определенную строку в их имя (или адрес электронной почты) и добавить их в массив.Получить всех моих пользователей и добавить их в массив.

Соответствующая часть моих данных по этому вопросу выглядит так:

Как видите, я использую простой лог Firebase (позже я бы тоже хотел добавить логин на Facebook) и храню своих пользователей по их uid.

Часть моего файла правил выглядит так:

"registered_users": {
    ".read": true,
    ".write": true,
    ".indexOn": ["name"]
 }

Таким образом, каждый должен иметь доступ для чтения и записи к этой части моих данных.

Я также прочитал раздел «Извлечение данных» в Руководстве по Firebase для iOS на их веб-сайте, и, согласно этому руководству, мой код получения всех имен пользователей и адресов электронной почты должен работать, по крайней мере, мне так кажется. Но это не так. Вот мой код:

func getUsersFromFirebase() {
        let registeredUserRef = firebaseRef.childByAppendingPath("registered_users")
        registeredUserRef.queryOrderedByChild("name").observeSingleEventOfType(.Value, withBlock: { snapshot in
            if let email = snapshot.value["email"] as? String {
                println("\(snapshot.key) has Email: \(email)")
            }
            if let name = snapshot.value["name"] as? String {
                println("\(snapshot.key) has Name: \(name)")
            }
        })
    }

Я заметил, что в руководстве по firebase они всегда использовали тип ChildAdded, а не Value, но для меня значение имеет больше смысла. Выходные данные с помощью Value - это ничто, а выходные данные с помощью ChildAdded - только один пользователь, а именно тот, который вошел в систему прямо сейчас.

Итак, мои вопросы:

Могу ли я сделать этот запрос с моей текущей структурой данных или мне нужно избавиться от рассказов пользователей по их uid?Если да, как мне изменить свой код, чтобы он работал?Если нет, как лучше всего хранить своих пользователей и делать запросы к ним по имени?Как я могу запросить, например, «собрать» и получить только пользователя simplelogin: 1 (Max Mustermann)?

Я надеюсь, что мое описание достаточно подробное. Спасибо заранее за вашу помощь.

дополнение:

Странно то, что в руководстве «Извлечение данных» говорится, что можно запрашивать и сортировать следующие данные по высоте.

Данные:

Код запроса:

И разве это не то же самое, что я собираюсь сделать?

Ответы на вопрос(2)

Ваш ответ на вопрос