El método queryOrderedByChild () de Firebase no proporciona datos ordenados

La estructura de mi base de datos es algo como esto:

{
  "users": {
    "alovelace": {
      "name": "Ada Lovelace",
      "score": 4,
    },
    "ghopper": { ... },
    "eclarke": { ... }
  }
}

Estoy tratando de recuperar los mejores 20 puntajes en orden descendente.

let queryRef = FIRDatabase.database().reference().child("users").queryOrderedByChild("score").queryLimitedToLast(20)
queryRef.observeSingleEventOfType(.Value, withBlock: { (querySnapShot) in
      print(querySnapShot.value)
})

Estoy tratando de obtener salida como

score": 4
score": 3
score": 2

or 

score": 2
score": 3
score": 4

or 

2
3
4

Por favor, hágame saber cómo resolver esto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta