相关疑难解决方法(0)

如何在不同的时区按年 - 月 - 日汇总

我有一个MongoDB,它以UTC格式存储日期对象.好吧,我想在不同的时区(CET)按年,月份进行汇总.

这样做,适用于UTC:

    BasicDBObject group_id = new BasicDBObject("_id", new BasicDBObject("year", new BasicDBObject("$year", "$tDate")).
                append("month", new BasicDBObject("$month", "$tDate")).
                append("day", new BasicDBObject("$dayOfMonth", "$tDate")).
                append("customer", "$customer"));

    BasicDBObject groupFields = group_id.
            append("eventCnt", new BasicDBObject("$sum", "$eventCnt")); 

    BasicDBObject group = new BasicDBObject("$group", groupFields);
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用命令行(未测试,我只测试了java版本):

{
    $group: {
        _id: {
            "year": {
                "$year", "$tDate"
            },
            "month": {
                "$month", "$tDate"
            },
            "day": {
                "$dayOfMonth", "$tDate"
            },
            "customer": "$customer"
        },
        "eventCount": {
            "$sum": "$eventCount"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在聚合框架内将这些日期转换为CET?

例如'2013-09-16 23:45:00 UTC'是'2013-09-17 00:45:00 CET',这是另一天.

mongodb mongo-java

23
推荐指数
3
解决办法
1万
查看次数

标签 统计

mongo-java ×1

mongodb ×1