2013-04-03 7 views
12

np. "23:55:00"Jak mogę przechowywać porę dnia w MongoDB? Jako ciąg? Podaj arbitralny rok/miesiąc/dzień?

Jestem w trakcie przekształcania bazy danych harmonogramów autobusów z Postgres na Mongo.
Postgres ma typ danych time without timezone, którego używam do przechowywania czasów zatrzymania i mam problemy z ustaleniem sposobu migracji.

To nie ma sensu, biorąc pod uwagę arbitralny rok/miesiąc/dzień, aby przekonwertować go na obiekt Date w javascript, ale mam zamiar zrobić kilka prostych obliczeń z czasów po przetworzeniu danych, do pokaż rzeczy takie jak "następny czas zatrzymania", więc jeśli będę przechowywać go jako ciąg, będę musiał go przekonwertować na coś, co ostatecznie będzie porównywać:

Jestem naprawdę nowy w MongoDB i każda rada byłaby mile widziana

Odpowiedz

20

Można zapisać czas jako liczbę (liczbę sekund od 00:00:00). W razie potrzeby będzie on naturalnie sortowany i łatwy do konwersji z/do formatu hh: mm: ss.

//from 23:55:00 to the stored time 
storedTime = hours * 3600 + minutes * 60 + seconds 

//from the stored time to 23:55:00 
hours = storedTime/3600 // needs to be an integer division 
leaves = storedTime - hours * 3600 
minutes = leaves/60 
seconds = leaves - 60 * minutes 
+0

Dziękujemy! To ma więcej sensu – CheapSteaks

Powiązane problemy