Können Sie den Zeitstempel von einem Firebase-Array-Schlüssel erhalten?

9

Nach diesem Blogpost , Firebase Array-Schlüssel werden mit einem Zeitstempel erstellt:

  

Dies geschieht durch Zuweisung einer permanenten, eindeutigen ID basierend auf dem aktuellen Zeitstempel (Offset zur Übereinstimmung mit der Serverzeit).

Gibt es eine Möglichkeit, diesen Zeitstempel für den späteren Gebrauch wiederherzustellen, wenn Sie den Schlüssel verwenden?

    
lowe0292 12.01.2015, 18:20
quelle

1 Antwort

22

Wie ich in meinem Kommentar gesagt habe, sollten Sie sich nicht darauf verlassen, den Zeitstempel von der generierten ID zu entschlüsseln. Stattdessen sollten Sie es einfach in einer Eigenschaft in Ihrem Firebase speichern.

Es stellt sich heraus, dass es recht einfach ist, den Zeitstempel zurückzubekommen:

%Vor%

Ich wiederhole meinen Kommentar, nur für den Fall, dass jemand denkt, dass es eine gute Idee ist, diesen Code für etwas anderes als eine Übung im Reverse Engineering zu verwenden:

  

Selbst wenn Sie wissen, wie Sie den Zeitstempel aus dem Schlüssel abrufen, wäre es eine schlechte Idee, dies im Produktionscode zu tun. Der Zeitstempel wird verwendet, um eine eindeutige, chronologisch geordnete Sequenz zu erzeugen. Wenn jemand bei Firebase einen effizienteren Weg findet (egal welche subjektive Definition von Effizienz er wählt), um dasselbe Ziel zu erreichen, könnten sie den Algorithmus für push ändern. Wenn Ihr Code einen Zeitstempel benötigt, sollten Sie Ihren Daten den Zeitstempel hinzufügen. nicht davon abhängen, dass es ein Teil Ihres Schlüssels ist.

Aktualisieren

Firebase dokumentiert den Algorithmus hinter den Push-IDs von Firebase . Aber der obige Rat bleibt: Verwenden Sie das nicht als Alternative zum Speichern des Datums.

    
Frank van Puffelen 12.01.2015, 20:16
quelle

Tags und Links