2016-11-04 4 views
0

Ich möchte Posts nach der Popularität des Autos bestellen, das von jedem Post Kind ist, gefolgt von Zeitstempel, idealerweise auf der Server-Seite.Firebase: Android Sortierung nach Kinderzählung

Zum Beispiel, wenn: - Beiträge p3, p4 und p5 haben Auto-Kinder b8 - - Post p6 hat Auto-Kinder b6

das erwartete Ergebnis ist Beiträge p1 und p2 Auto-Kinder b7 haben:

1: p5 2: p4 3: p3 4: p2 5: p1 6: p6

Vielen Dank im Voraus für jede Hilfe.

enter image description here

+0

Siehe https://firebase.google.com/docs/database/android/lists-of-data#sorting_and_filtering_data –

+0

Danke Frank, ich hatte bereits die Dokumentation angeschaut, kann aber nicht herausfinden, wie man es auf der Serverseite. Ich kann einfach nicht herausfinden, wie man nach einer Kinderzählung sortiert. Ich denke, es ist ähnlich, die Firebase FriendlyPix-Demo-App-Beiträge nach Anzahl der Likes für jeden Beitrag zu sortieren. –

Antwort

0

Was Sie zu tun versuchen, ist eine Aggregation genannt, wobei diese Gruppen Elemente und arbeitet auf ihre Werte insgesamt. SQL unterstützt Aggregatfunktionen wie count, sum und avg, die mit einer Klausel "group by" verwendet werden. Firebase Realtime Database bietet diese Art der Abfrage jedoch nicht an.

Wenn Sie Posts gruppieren möchten, die nach einer Eigenschaft gruppiert sind, müssen Sie für Ihre Daten eine separate Datenstruktur erstellen, um die gewünschten Zählungen zu verwalten und diese Struktur jedes Mal aktualisieren, wenn sich die Postsammlung ändert.

+0

Ich dachte, das wäre der Fall, aber ich bin mir nicht ganz sicher, was die Datenstruktur sein sollte. Kannst du mir bitte ein Beispiel geben? –