Spring Data Mongo:IllegalArgumentException尝试使用minus()的字段引用

时间:2015-10-22 20:48:12

标签: spring mongodb spring-data-mongodb

我尝试使用$subtract运算符使用以下代码行将两个字段之间的差异投影为单独的第三个字段:

pipeline.add(Aggregation.project("createdTime","modResult").andExpression("createdTime").minus("modResult").as("bucketedTime"));

但是,当我尝试执行聚合时,我得到以下异常:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: can't serialize class org.springframework.data.mongodb.core.aggregation.Fields$AggregationField

我在这里做错了什么?我注意到如果我提供整数而不是字段名称,则没有问题。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

根据我的问题here,我发现我应该使用floor()代替and()。后者试图将该参数解释为表达式,例如andExpression()作为执行field1 + field2的更方便的方式。