JAVA MONGODB group查询的UTC时间问题

        BasicDBList dateList = new BasicDBList();
        dateList.add("$t");
        dateList.add(28800000);
        DBObject time = new BasicDBObject("$add", dateList);
        Bson group = Aggregates.group(new Document().append("t", new Document().append("$dateToString", new Document("format", "%Y-%m-%d").append("date", time))), Accumulators.sum("totalSize", "$size"));

mongodb dataTstring 本地查询时间是2号的话,按天group的会有两组数据,一组是1号的,一组是2号的,这是因为UTC时间自动减去八小时,dateToString无法选择时区的原因。方法暂时是用add给t加上八小时的时间戳再进行转换。通过aggregate查询。

posted @ 2017-01-05 10:00  南下安家  阅读(1815)  评论(0编辑  收藏  举报