2013-04-03 3 views
12

"23:55:00"MongoDBに時刻を保存するにはどうすればいいですか?文字列として?任意の年/月/日を与えますか?

私はバススケジュールデータベースをPostgresからMongoに変換しています。
Postgresには停止時間を格納するために使用しているtime without timezoneデータ型があり、移行方法を理解するのが難しいです。

javascriptのDateオブジェクトに変換するのに任意の年/月/日を与えるのはあまり意味がないようですが、データが解析された後にいくつかの簡単な計算を行う予定です。 '次の停止時間'のようなものを表示するので、文字列として保存すると、それを最終的に何かに変換して比較する必要があります。

私はMongoDBを本当に使い慣れていて、アドバイスをいただければ幸いです。

答えて

20

時間を数値(00:00:00からの秒数)として保存できます。必然的にソートされ、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

ありがとうございました!それははるかに理にかなっている – CheapSteaks

関連する問題