単純なテキストではなく、ISODate として保存する必要があるのはなぜですか?
2 に答える
ISODateMongoDB の は、通常の JavaScript のDateコンストラクターに使いやすいラッパーを提供する単なる関数です。MongoDB でこれを言うと:
ISODate('2011-11-05T18:33:25Z')
あなたは次と同じことを言っています:
new Date(1320518005000);
しかし人間は、1970 年 1 月 1 日からのミリ秒数を読み取るよりも、ISO 8601の日付を読み取る方がはるかに簡単です。
したがって、 using を使用ISODateすると、メソッド ( など) を呼び出すことができるデータベース内の実際の Date オブジェクトが得られると同時にgetMonth、その値を簡単に確認することもできます。日付に文字列を使用すると、日付を操作する必要があるときに常に文字列を解析することになります。例としては、map/reduceを実行して月次データを集計します。文字列を解析して月を抽出することはできますが、月が何かを知っている実際の日付オブジェクトを使用できるのに、なぜわざわざそんなことをするのでしょうか?
このソースによると:
非常に多くの形式が利用可能であり、そのほとんどは他の形式と互換性がないため、Web の場合のように、国際的で異文化の聴衆に向けて書くときに日付表現を選択することは、ユーザビリティの悪夢になる可能性があります. 幸いなことに、ISO が開発した国際日付形式には 1 つの解決策があります。