如何在Spring MongoDB中将2个整数值合并为单个字符串

时间:2018-07-31 12:30:07

标签: spring mongodb mongodb-query spring-data spring-data-mongodb

我在汇总阶段的文档如下:

{
    month: 9,
    year: 2017
}

现在我希望它变成:

{
    time: "9/2017"
}

在Mongo shell(v3.6.4)中,我可以做到这一点,并且可以按预期工作:

$concat: [{$substr:["$month", 0, -1]}, "/", {$substr:["$year", 0, -1]}]

在版本4.0中,有一个$ toString运算符执行相同的技巧$ substr。

但是Spring MongoDB中没有等效项,一些关于Stackoverflow的主题使用代码.addExpression("concat(month,'/',year)")。如果只有月/年字段是类似于{month: "9"}而不是{month: 9}的字符串,则此代码段有效。请给我一些建议。谢谢你。

1 个答案:

答案 0 :(得分:1)

我一个人得到的:

project().andExpression("concat(substr(month,0,-1),'/',substr(year,0,-1))").as("time")