我的文档在聚合阶段如下所示:
{
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)")
。如果只有月/年字段是类似于 {month: "9"}
但不是 {month: 9}
的字符串,则此代码片段有效。
最佳答案
我自己得到的:
project().andExpression("concat(substr(month,0,-1),'/',substr(year,0,-1))").as("time")
关于spring - 如何在 Spring MongoDB 中将 2 个整数值连接成一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51613452/