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 小时前
【短链接项目笔记】6 短链接跳转
java·开发语言·笔记·后端·springboot
AC赳赳老秦8 小时前
DeepSeek 赋能医疗信息化:基于电子病历的结构化诊疗建议模板生成
mongodb·信息可视化·流程图·ambari·数据库开发·数据库架构·deepseek
七夜zippoe8 小时前
MyBatis插件开发-实现SQL执行耗时监控
java·sql·mybatis·springboot·责任链
无言(* ̄(エ) ̄)8 小时前
C语言--运算符/函数/结构体/指针
c语言·开发语言·数据结构·数据库·算法·mongodb
短剑重铸之日20 小时前
SpringBoot声明式事务的源码解析
java·后端·spring·springboot
范纹杉想快点毕业21 小时前
返璞归真还是拥抱现代?——嵌入式研发中的“裸机开发”与RTOS全景解析
c语言·数据库·mongodb·设计模式·nosql
辗转.95321 小时前
MongoDB入门指南:从零开始掌握NoSQL数据库
数据库·mongodb·nosql
李少兄21 小时前
一文搞懂什么是关系型数据库?什么是非关系型数据库?
数据库·redis·mysql·mongodb·nosql
剑之所向1 天前
MCU开机按键,怎么避免抖动造成的开机
数据库·单片机·mongodb
醉风塘1 天前
MongoDB持久化深度解析:从数据安全到性能平衡的艺术
数据库·mongodb