1

私たちは同じタイムゾーン&のすべてのユーザーを持っている単純なアプリケーションを持っています。したがって、mongo dateオブジェクトにタイムゾーン情報を格納することには興味がありません。MongoDB - タイムゾーンのない日付の保存

私たちは、異なる開発者が管理する共通のデータベースを使用して複数のマイクロサービスを提供しています。それらのそれぞれは、無効なデータセットで同じ結果を忘れている質問&でタイムゾーンに関連するものを明示的に設定する必要があります。

現在のMongoDBの人々Mongo Data Types

は、タイムゾーンなしで保存日数をサポートしていませんので。で

我々は日付の範囲のように日付ベースの構文を照会モンゴデータベースを利用することができ、まだことが可能なことがモンゴでタイムゾーンなしで日付を表現するために彼らのいずれかの代替的なアプローチである知っているだけで熱心

、日付など

同じ時間にDBAがレコードを読んだり管理したりすると便利です。この答えで

答えて

0

ルック:https://stackoverflow.com/a/6776273/6105830

あなたが長い表現(ミリ秒またはYYYYMMDDhhmmss形式)の2種類を使用することができます。これはタイムゾーンを保存せずに範囲クエリを作成できる唯一の方法です。

残念ながら、いくつかの集約プロパティが失われました。しかし、あなたは2つの表現を保ち、適切な時にそれらを使用するような何かをすることができます。

+0

hmmm問題を投稿する前にこの投稿をチェックしました。このアプローチの問題は、両方とも人間によって日付を読み取れないようにすることです。したがって、コンソール上で直前に実行できるDBA操作では、人間が読める値をint値に変換する変換ラッパーを使用する必要があります。逆もまた同様です。したがって、別の問題につながる。 – tarunkumar

+0

yyyyMMddHHmmssというフォーマットは読めないと思うhaha しかし、あなたの問題では、この集計のように、タイムゾーンを保存し、タイムゾーンオフセットをクエリに追加することしかできないと思います。 (Javaで): { "$プロジェクト":{ "日付":{ "$を追加":[ "$日付"、 はTimeZone.getDefault()のgetOffset(のSystem.currentTimeMillis()) 。 ] } } } –

+0

私はyyyyMMddHHmmssについて私の理解が間違っているかもしれませんが、私はint/longと同じ値を抽出した値と同じものとして保存すると仮定していました。はい私はそれが範囲のクエリのためにも完璧に動作するはずだと思うが、我々は年を無視する必要があるいくつかのカスタム正規表現を書く必要があります。また、私はあなたの2番目に提案された解決策を試みるでしょう。 – tarunkumar

関連する問題