2017-02-03 6 views
0

Sortierung Ich habe diese Struktur in meiner Feuerbasis DatenbankAbrufen von Daten aus Feuerbasis, während es richtig

"metadata" : { 
    "2017" : { 
     "Februari" : { 
     "-Kc3BF0V1iLgtnI65LuR" : { 
      "date" : "2017-02-03T13:36:38.311Z", 
      "price" : 90 
     }, 
     "-Kc3BF0V1xxfrtnI65OlS" : { 
      "date" : "2017-02-03T13:36:38.311Z", 
      "price" : 90 
     } 
     }, 
     "Januari" : { 
     "-Kc3E5bpxpo3RpSHH3fn" : { 
      "date" : "2017-01-11T13:50:12.264Z", 
      "price" : 45 
     } 
     } 
    } 
    } 

Was ich versuche, in meiner app zu erreichen, ist eine Liste wie dieses

> Januari 
> - 45 (=price) 
> 
> Februari 
> - 90() 
> - 240 

Das zeigt Sache ist, dass ich die Monate zeigen kann, aber ich kann die Kinder wegen der einzigartigen von fire base geschaffenen ID nicht erreichen.

Dies ist das Objekt, das ich immer bin zurück von Feuerbasis

e{ 
    $$conf: Object 
    $id: "2017" 
    $priority: null 
    Februari: Object 
     -Kc3BF0V1iLgtnI65LuR: Object 
     date: "2017-02-03T13:36:38.311Z" 
     price: 90 
    Januari: Object 
     -Kc3E5bpxpo3RpSHH3fn: Object 
     date: "2017-01-11T13:50:12.264Z" 
     price: 45 
} 

Wie würde ich diesen Ansatz?

+0

Wie gebe ich einen childNode ohne den eindeutigen Schlüssel von Feuerbasis geschaffen zu haben? Das ist eigentlich mein Problem :) – mXX

+0

Warum rufen Sie nicht den ganzen Monat und alle seine Kinder ab. Schieben Sie sie auf ein Array und und sortieren Sie es Childs von: allChilds.sort ((a, b) => a.price> b.price); –

Antwort

1

Versuchen Sie, eine ng-repeat zu benutzen? Wäre so etwas wie diese Arbeit für Sie:

<div ng-repeat="(name, month) in months"> 
    {{ name }} 
    <div ng-repeat="entry in month"> 
     {{ entry.price }} 
    </div> 
</div> 

Wo Monate ist das Ergebnis von database.ref().child('metaData').child('2017');

+0

Das hat den Trick für mich gemacht. Aber könnten Sie mir erklären, wie '{{entry.price}}' funktioniert hat? Wo habe ich Objekt mit dem eindeutigen Schlüssel eingegeben, der von Firebase wie '-Kc3BF0V1iLgtnI65LuR' – mXX

+1

erstellt wird Es ist einfach Schleifen über ein Objekt, Sie konnten' ng-repeat = "(Schlüssel, Eintrag) in Monat" 'und dann hatte der Schlüssel als Gut –