如何在Spring Boot(Java)中向MongoDB字段追加值?
MongoDB 嵌套字段追加字符串的正确实现
你的代码存在两个核心问题:
- 字段路径错误:要修改的是
contact.name而非name $concat参数写法错误:直接拼接字符串会生成固定文本,而非引用原有字段值
正确的Java驱动写法如下:
// 构建更新操作 Update update = new Update(); // 使用$concat拼接原有字段值和新字符串,注意字段引用要加$前缀 update.set("contact.name", new Document("$concat", Arrays.asList("$contact.name", " Wayne"))); // 执行更新(这里以根据_id匹配单条文档为例) mongoCollection.updateOne( Filters.eq("_id", new ObjectId("64d4b688638bed43641ca2fb")), update );
关键说明
$contact.name:通过$前缀引用文档中已有的contact.name字段值" Wayne":要追加的字符串(前面加空格保证拼接后格式为Bruce Wayne)- 若需要批量更新所有Person文档,将
updateOne替换为updateMany即可
内容的提问来源于stack exchange,提问作者Rishi Raj
相关产品推荐
相关产品推荐

