MongoDB shell で moment.js, moment-timezone を load() して使う方法をご紹介します。
まず、moment.js と moment-timezone-with-data-*.js のファイルを公式サイトからダウンロードします。
執筆時点では moment-timezone-with-data-*.js は moment-timezone-with-data-2012-2022.js でした。
moment-timezone-with-data-2012-2022.js はタイムゾーンのデータをファイルの中に含んでいるので mongo shell から timezone を正確に扱いたい場合はこのデータが必要です。
ちなみにファイルは GitHub の以下のディレクトリにもあります。
ダウンロードした moment.js と moment-timezone-with-data-*.js を mongo shell 上で load() して使います。
$ mongo yourdbname
> load("moment.js")
true
> load("moment-timezone-with-data-2012-2022.js")
true
> moment("2017-05-02 00:00:00").tz("America/Los_Angeles").format("YYYY-MM-DD HH:mm:ss")
2017-05-01 08:00:00
もしくは mongorc.js に load() の処理を記載しておくといつでも使えるのでおすすめです。
mongorc.js
load("/path/to/moment.js");
load("/path/to/moment-timezone-with-data-2012-2022.js");
ぜひ moment.js と moment-timezone.js を活用して快適な MongoDB ライフをお過ごしください。