2013-01-24 9 views
9

アプリケーションデータベースをMysqlからMongodbに転送しようとしていますが、datetimeクエリで問題が発生しました。 MySQLではMongodbのタイムゾーン設定でクエリを実行する方法

日時またはタイムスタンプ列がある場合には、このコマンドを使用して、各要求に対して特定のタイムゾーンを設定することができますが:

SET time_zone = timezone; 
// do queries here 

は、需要のこの種の同様のソリューションのいずれかの種類がありますか?

私はアプリケーションがmongodbからデータを取得した後に仕事をすることができることは知っていますが、$ hour、$ monthまたは$ day演算子で集計を使用するとどうなりますか?

+0

私はそこにあるとは思わないので、常に日付をUTCとして保存する必要があります。アプリケーションはタイムゾーンのものを把握しましょう! – c0deNinja

+0

mysqlのような関数を考える:日付()、日()、月()、日付のアプリケーションは、これらのすべてを達成するために多くの作業を行う必要があります – Jack

+0

ISO日付のタイムゾーン表記http://tackoverflow.com/questions/11486779/formatting-isodate-from-mongodb mongodbタイムゾーンを正しくサーバー側で解決できるかもしれませんが、UTCのタイムスタンプとタイムゾーンontopの整数表現を追加して、クライアント側でもう一度ディスプレイを解決してください – Sammaye

答えて

19

のMongoDB店舗UTCのすべての日付と時刻。これにより、サーバー側ではなくアプリケーション側でタイムゾーンのサポートと変換を行うことができます。

日付と時刻を保存する最も良い方法は、Javascript Dateオブジェクトを使用することです。これにより、getTime()とDate(ミリ秒)を使用してUnixのタイムスタンプと日付を変換することができます。

Javascriptでは、UNIX Epochからの時間がミリ秒で保存されますが、標準UNIX timestampはEpochから数秒で保存されることに注意してください。

関連する問題