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查询。