A solicitação de consulta do Firebase não está funcionando corretamente

Basicamente, eu brinquei com o Firebase na semana passada e recentemente me deparei com o 'queryOrderedByChild ()' que, tanto quanto eu sei - permite que você classifique os dados no firebase. No entanto, parece que não obtive os resultados adequados. Meus dados do Firebase são assim:

{
  "names" : {
    "-KHVUwXdVPHmrO_O5kil" : {
      "id" : "0",
      "name" : "Jeff"
    },
    "-KHVV7lCeac0cZNMi9fq" : {
      "id" : "3",
      "name" : "Stig"
    },
    "-KHVVCjXgl0XxasVOHF1" : {
      "id" : "13",
      "name" : "Ali"
    },
    "-KHVVJtyUO-yJZiompJO" : {
      "id" : "7",
      "name" : "Hannah"
    },
    "-KHVVR8tMSO1Oh7R8tR1" : {
      "id" : "2",
      "name" : "Amanda"
    }
  }
}

, e meu código fica assim:

ref.childByAppendingPath("names")
   .queryOrderedByChild("id")
   .observeEventType(.ChildAdded) { (snapshot:FDataSnapshot!) in
       if let myID = snapshot.value["id"] as? String {
           print(myID)
       }

A saída ainda está em uma ordem aleatória, exibindo: 0, 2,7,1,8,4 - Isso não deveria ser numérico? O que estou fazendo errado? Como posso classificá-lo para que fique numérico ascendente ou descendente?

questionAnswers(2)

yourAnswerToTheQuestion