Tag: mongotemplate

MongoTemplate聚合 – 按日期分组

我正在尝试使用mongotemplate创建聚合查询,其中按日期(即2016-03-01)而不是datetime(即2016-03-01 16:40:12)进行分组。 dateToString操作存在于mongodb文档中,它可用于使用格式化从日期时间中提取日期: https : //docs.mongodb.org/manual/reference/operator/aggregation/dateToString/但我得到了它可以使用它mongotemplate – 我得到一个NullPointerException。 (我的db版本是3.2) List aggregationOperations = new ArrayList(); aggregationOperations.add( Aggregation.project(“blabla”, …). andExpression(“dateToString(‘%Y-%m-%d’,timeCreated).as(“date”)); aggregationOperations.add(Aggregation.group(“date”).sum(“blabla”).as(“blabla”)); AggregationResults aggregationResults = this.mongoTemplate.aggregate( Aggregation.newAggregation(aggregationOperations), collectionName, resultClass); 当我使用dayOfMonth(timeCreated)来提取日期时,没有例外,但是我找不到如何使用dateToString进行此操作的示例。 我尝试没有”作为日期格式,它也没有工作…… 这是我得到的例外: java.lang.NullPointerException at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:226) at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:194) at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:255) at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:194) at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:255) at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:194) at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:255) at org.bson.BasicBSONEncoder.putIterable(BasicBSONEncoder.java:324) at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:263) at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:194) at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:136) at com.mongodb.DefaultDBEncoder.writeObject(DefaultDBEncoder.java:36) at […]