Consultar usuários por nome ou endereço de email usando o Firebase (Swift)

Eu sou muito novo emFirebase eRápido e estou tendo alguns problemas quando se trata de consultar. Então, existem basicamente duas coisas que eu gostaria de fazer:

Consultar meus usuários eencontre apenas aqueles que contêm uma determinada String no nome (ou endereço de email) e adicione-os a uma matriz.Pegue todos os meus usuários e adicione-os a uma matriz.

A parte relevante dos meus dados para esta pergunta é assim:

Como você pode ver, estou usando o log simples do Firebase (depois gostaria de adicionar o login do Facebook) e estou armazenando meus usuários pelo uid deles.

Uma parte do meu arquivo de regras fica assim:

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

Portanto, todo mundo deveria ter acesso de leitura e gravação a essa parte dos meus dados.

Também li a parte "Recuperando dados" do Guia do Firebase para iOS no site deles e, de acordo com esse guia, meu código para obter todos os nomes de usuários e endereços de email deve funcionar, pelo menos acho que sim. Mas isso não acontece. Aqui está o meu código:

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)")
            }
        })
    }

Percebi que, no guia da base de firmas, eles sempre usavam o tipo ChildAdded e não Value, mas para mim o Value faz mais sentido. A saída com Value não é nada e a saída com ChildAdded é apenas um usuário, a saber, o que está conectado no momento.

Então, minhas perguntas são:

Posso fazer essa consulta com a minha estrutura de dados atual ou preciso me livrar da criação de histórias dos usuários pelo seu uid?Se sim, como eu precisaria alterar meu código para fazê-lo funcionar?Se não, qual seria a melhor maneira de armazenar meus usuários e possibilitar a consulta deles por nome?Como posso consultar, por exemplo "agrupar" e obter apenas o logon simples do usuário: 1 (Max Mustermann)?

Espero que minha descrição seja suficientemente detalhada. Thx antecipadamente por sua ajuda.

Suplemento:

O estranho é que, segundo o guia "Recuperando dados", é possível consultar e classificar os seguintes dados por altura.

Dados:

Consultando código:

E não é exatamente o mesmo que pretendo fazer?

questionAnswers(2)

yourAnswerToTheQuestion