首页 > 解决方案 > 如何在 Spring MongoDB 中将 2 个整数值连接成一个字符串

问题描述

我在聚合阶段的文档如下所示:

{
    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 中没有等价物,Stack Overflow 上的一些主题使用了代码.addExpression("concat(month,'/',year)")。如果只有月/年字段是 String like {month: "9"}but not ,则此代码段有效{month: 9}

标签: springmongodbmongodb-queryspring-dataspring-data-mongodb

解决方案


我自己弄的:

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

推荐阅读