Grundsätzlich habe ich mit Firebase für die vergangene Woche gespielt, und ich stolperte kürzlich über die 'queryOrderedByChild()', die Sie so weit ich weiß - können Sie Daten in Firebase zu sortieren. Allerdings scheint ich nicht die richtigen Ergebnisse zu erhalten. Meine Daten Firebase sieht wie folgt aus:Firebase Abfrage Bestellung funktioniert nicht richtig
{
"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"
}
}
}
, und mein Code sieht wie folgt aus:
ref.childByAppendingPath("names")
.queryOrderedByChild("id")
.observeEventType(.ChildAdded) { (snapshot:FDataSnapshot!) in
if let myID = snapshot.value["id"] as? String {
print(myID)
}
Der Ausgang noch in einer zufälligen Reihenfolge ist, die Anzeige: 0, 2,7,1,8, 4 - Soll das nicht numerisch sein? Was mache ich falsch? Wie kann ich es so sortieren, dass es entweder aufsteigend oder absteigend numerisch wird?
Ohne die Daten zu sehen, wird es sehr schwierig sein, etwas Konkretes zu sagen. Fügen Sie ein minimales Snippet des JSON hinzu, mit dem wir das Problem reproduzieren können. Fügen Sie es als Text hinzu, den Sie einfach erhalten, indem Sie im Firebase-Dashboard auf die Schaltfläche Exportieren klicken. –
Hier ist der JSON-Code: '{ "Name": { "-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", " n ame ":" Amanda " } } } ' Und die Ausgabe ist nur in einer zufälligen Reihenfolge zeigt nur IDs. – askaale
Es gibt einen Bearbeitungslink unter Ihrer Frage, so dass Sie ihn dort hinzufügen können.Dadurch können Sie es auch in einem besser lesbaren Format ablegen. –