mongodbTemplate 修改JSON [key: ‘1‘, key2: [{id:1, name: ‘name‘}] 中 key2.name属性

问题描述

mongodbTemplate 修改JSON key: '1', key2: \[{id:1, name: 'name'} 中 key2.name属性

代码

java 复制代码
Query query = Query.query(Criteria.where("key").is(1)                                    
                                 .and("key2.id").is(1)                                  
                                 .and("key2.name").is("name"));
Update update = new Update().set("key2.$.name", "new value");
mongoTemplate.updateFirst(query, update, Class_Name.class, collection_name);
补充

1.当更新的key2.$.name name属性不存在,会自动为该对象添加这个属性。

例如:

数组key2中id为1的对象存在,没有name属性,updateFirst方法将为这个对象添加一个name属性,并将其值设置为"new value"。

2.mongoTemplate.findOne 不指定collectionName

在Spring Data MongoDB中,collectionName通常是由被查询的实体类上的@Document注解所确定的,或者将会使用该类的简单名称(首字母小写)作为集合名。

相关推荐
隔窗听雨眠1 小时前
储能行业时序数据库架构演进:从MongoDB到TDengine的18倍性能提升实录
mongodb·能源·tdengine
Kings995 小时前
AI 请求参数智能生成与一键调试方法支持,Fast Request重磅发布
ai·springboot·idea插件
SilicoCode2 天前
江科大STM32入门:FLASH闪存详解——从结构原理到读写保护
数据库·mongodb
小小啊python2 天前
IDEA中SpringBoot项目配置热部署
java·ide·intellij-idea·springboot·热部署
浪子明X3 天前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
glustful4 天前
企业内部审计项目管理 系统开源(springboot+vue3)
vue3·springboot
strength_zhou20134 天前
Python检查MongoDB索引列中的字段是否存在
python·mongodb
笔墨登场说说5 天前
mongodb备份
mongodb
笨鸟先飞的橘猫7 天前
mongodb面试题
数据库·mongodb
JLWcai202510099 天前
核电打磨 “安全卫士”|金利威不锈钢专用树脂砂轮,合规高效双在线
mysql·mongodb·eureka·sqlite·rabbitmq·nosql·memcached