sql >> データベース >  >> NoSQL >> MongoDB

Mongodb集計:日付を別のタイムゾーンに変換します

    更新として、MongoDB 3.6には、集計フレームワークでの日付操作用の新しいタイムゾーンパラメーターがあります。ほとんどの日付関連の演算子は、このオプションのパラメーターを受け入れます。1つの例については$hourを参照してください。

    たとえば、日付がUTCの正月であるドキュメントがある場合:

    > db.test.find()
    {"_id": 1, "dt": ISODate("2018-01-01T00:00:00Z")}
    

    ニューヨークのタイムゾーンで日付を表示できます:

    > db.test.aggregate([
    ...     {$project:{
    ...         date:{$dayOfMonth:{date:'$dt',timezone:'America/New_York'}},
    ...         month:{$month:{date:'$dt',timezone:'America/New_York'}},
    ...         year:{$year:{date:'$dt',timezone:'America/New_York'}},
    ...         hour:{$hour:{date:'$dt',timezone:'America/New_York'}}
    ...     }}
    ... ])
    { "_id": 1, "date": 31, "month": 12, "year": 2017, "hour": 19 }
    

    シドニーのタイムゾーンで日付を表示することもできます:

    > db.test.aggregate([
    ...     {$project:{
    ...         date:{$dayOfMonth:{date:'$dt',timezone:'Australia/Sydney'}},
    ...         month:{$month:{date:'$dt',timezone:'Australia/Sydney'}},
    ...         year:{$year:{date:'$dt',timezone:'Australia/Sydney'}},
    ...         hour:{$hour:{date:'$dt',timezone:'Australia/Sydney'}}
    ...     }}
    ... ])
    { "_id": 1, "date": 1, "month": 1, "year": 2018, "hour": 11 }
    

    タイムゾーンの説明では、標準のOlsonTimezoneIdentifier文字列を使用しています。



    1. MongoDBのPHPでISO日付形式を返す方法は?

    2. Redisのすべてを削除するにはどうすればよいですか?

    3. ApacheHBaseでスケーリングが実際にどのように機能するか

    4. Mongodb設定のユニークなフィールド