2016-12-03 4 views
0

Ich bin neu in Firebase.Ich habe ein Karussell, das synchron mit Firebase läuft.Ich habe ein kleines Node-Skript, die ein neues Element in meine firebase ref.Idont Aus irgendeinem Grund weiß ich, dass der Knoten, den ich einfügen möchte, eher in der Mitte als zuletzt hinzugefügt wird. Ich weiß nicht, ob ich etwas falsch mache. Jede Hilfe wäre für mich nützlich. Hier ist der Teil meines Node-Skripts meine ref fügt Knoten inBenutzerdefinierte Kind Update wird in der Mitte eingefügt. Firebase 3.0

var trendRef=firebase.database.ref("my-ref"); 
trendRef.child("OTR-124").update({<myObj>}); 

Anmerkung: ich bin ein Timestamp-Feld als Teil meiner Aufgabe Hinzufügen der klassischen Javascript Zeitstempel als Wert annimmt (das ist der Teil, der mir mehr Zweifel in meinem Kopf gibt)

Antwort

1

In der Firebase-Datenbank werden die Daten standardmäßig lexikografisch nach Schlüssel geordnet. Also in Ihrem Fall, wenn Sie bereits Kinder NPR-431 und PYT-987, Ihr neues Kind würden bis in zwischen ihnen enden:

NPR-431 
OTR-124 
PYT-987 

Wenn Ihre Daten enthalten eine Eigenschaft, die Sie bestellen möchten, können Sie Firebase queries verwenden, um Rück der Artikel in der gewünschten Reihenfolge:

trendRef.orderByChild("propertyOnWhichToOrder").on(... 

Aber wenn Sie die Schlüssel wollen chronologisch geordnet werden, müssen Sie, dass die Schlüsselwerte sowohl zunehmende zeitliche und lexikographischer sind zu gewährleisten. Das klingt schwieriger als es ist, da Firebase über eine integrierte Methode verfügt, die solche Schlüssel für appending items to a list generiert.

trendRed.push({<myObj>}); 

Dies wird das Element am Ende der Liste mit einem automatisch generierten Schlüssel anhängen, die es zu bestellten und einzigartig ist garantiert.

Verwandte Themen