Ich habe mehrere Beiträge und jeder Beitrag hat seine eigenen Kommentare. Ich möchte alle Beiträge nach ihren Zeitstempeln geordnet abfragen. Ich habe versucht:Firebase Abfrage Reihenfolge
let query = Firebase(url: path)
let query.queryOrderedByChild("commentDate").observeEventType(.ChildAdded)
{ (queryResponse, cancelBlock) { ....
"commentDate" sind ganze Zahlen auf dem Server. Bei dieser Abfrage erhalte ich nur das erste Objekt
let query = Firebase(url: path)
query.queryOrderedByChild("commentDate").queryLimitedToFirst(100).observeEventType(.ChildAdded) { (queryResponse, cancelBlock) { ...
ich auch nur das erste Objekt erhalten ... Die einzige Lösung, die ich im Moment ist alles abfragen:
query.queryOrderedByChild("commentDate").observeEventType(.Value) { (queryResponse, cancelBlock) in ...
Aber mit Dazu muss ich das Array sortieren, bevor es dem Benutzer angezeigt wird.
Irgendwelche Ideen wie kann ich tun, um sie auf Server sortiert zu bekommen?
bearbeiten Darstellung von Feuerbasis Daten:
{
"-KGRZmSIDXz5hHkelthQ" : {
"something1" : "783151",
"something2" : "21",
"something3" : "wjeicisje ejej",
"comments" : "",
},
"-KGRa5skGzA1GAG09Lno" : {
"something1" : "783151",
"something2" : "21",
"something3" : "wjeicisje ejej",
"comments" : "",
},
"-KGVr-tti1zr1M1QLlHL" : {
"something1" : "783151",
"something2" : "21",
"something3" : "wjeicisje ejej",
"comments" : {
"-KGX1_rFSBLmQJ7QzCRc" : {
"commentBody" : "something",
"commentDate" : 1.461933727259896E9,
"commentOwnerImageView" : "something",
"commentOwnerName" : "something"
},
"-KGX1r5Lnhv9YbQre6as" : {
"commentBody" : "something",
"commentDate" : 1.461933797884702E9,
"commentOwnerImageView" : "something",
"commentOwnerName" : "something"
},
"-KGXVGKA0SYm-vRs6zsv" : {
"commentBody" : "something",
"commentDate" : 1.461941507496439E9,
"commentOwnerImageView" : "something",
"commentOwnerName" : "something"
},
},
}
}
Was passiert, wenn Sie Wert Ereignistyp verwenden anstelle von Kind hinzugefügt? –
Wenn ich "Value" setze, bekomme ich alle Objekte. Aber wenn ich "Kind hinzugefügt" setze, bekomme ich nur ein Objekt. Um auf Server abzufragen (orderbyChild) muss ich observeEventType (.ChildAdded) setzen. Hier sind weitere Infos: https://www.firebase.com/docs/ios/guide/retrieving-data.html#section-queries – Andrew
Soweit ich weiß, können Sie eine Abfrage mit jedem Event-Typ und nicht nur Kind hinzugefügt . Und wie im [guide] (https://www.firebase.com/docs/ios/guide/retrieving-data.html#section-event-types) angegeben, soll child added nur 1 Objekt zurückgeben. Haben Sie schon andere Bestellfragen ausprobiert? [QueryOrderedByChild :, queryOrderedByKey :, queryOrderedByValue oder queryOrderedByPriority] (https://www.firebase.com/docs/ios/guide/retrieving-data.html#section-queries) –