Java 将mongodb中的另一个字符串与spring数据连接起来的更新字符串字段

Java 将mongodb中的另一个字符串与spring数据连接起来的更新字符串字段,java,mongodb,spring-boot,spring-data,spring-data-mongodb,Java,Mongodb,Spring Boot,Spring Data,Spring Data Mongodb,如何使用java和spring data mongo更新mongo文档中的字符串字段,并连接另一个字符串值?例: { “languages”: “python,java,c” } Concat“kotlin”: { “languages”: “python,java,c,kotlin” } 非常感谢 从MongoDBv4.2开始,db.collection.update()方法可以接受使用文档中其他字段的值修改字段 试试这个: UpdateResult result = m

如何使用java和spring data mongo更新mongo文档中的字符串字段,并连接另一个字符串值?例:

{
    “languages”: “python,java,c”
}
Concat“kotlin”:

{
    “languages”: “python,java,c,kotlin”
}
非常感谢

从MongoDB
v4.2
开始,db.collection.update()方法可以接受使用文档中其他字段的值修改字段

试试这个:

UpdateResult result = mongoTemplate.updateMulti(Query.query(new Criteria()),
    AggregationUpdate.update()
        .set(SetOperation.set("languages")
                .toValue(StringOperators.Concat.valueOf("languages").concat(",").concat("kotlin"))),
    "collection"); //mongoTemplate.getCollectionName(Entity.class)
System.out.println(result);
//AcknowledgedUpdateResult{matchedCount=1, modifiedCount=1, upsertedId=null}
在MongoDB shell中,它如下所示:

db.collection.updateMany({},
  [
    { "$set" : { "languages" : { "$concat" : ["$languages", ",", "kotlin"]}}}
  ]
)
从MongoDB
v4.2
开始,db.collection.update()方法可以接受使用文档中其他字段的值修改字段

试试这个:

UpdateResult result = mongoTemplate.updateMulti(Query.query(new Criteria()),
    AggregationUpdate.update()
        .set(SetOperation.set("languages")
                .toValue(StringOperators.Concat.valueOf("languages").concat(",").concat("kotlin"))),
    "collection"); //mongoTemplate.getCollectionName(Entity.class)
System.out.println(result);
//AcknowledgedUpdateResult{matchedCount=1, modifiedCount=1, upsertedId=null}
在MongoDB shell中,它如下所示:

db.collection.updateMany({},
  [
    { "$set" : { "languages" : { "$concat" : ["$languages", ",", "kotlin"]}}}
  ]
)

下面的链接是否回答了您的问题?不是真的,我检查了这个问题,但它没有回答我的问题,因为我有javascript代码,工作正常,但我没有spring-data的java代码。下面的链接是否回答了你的问题?不是真的,我确实检查了这个问题,但它没有回答我的问题,因为我有javascript代码,工作正常,但我没有包含spring数据的java代码。