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注解所确定的,或者将会使用该类的简单名称(首字母小写)作为集合名。

相关推荐
倔强的石头1069 小时前
文档数据库迁移实战:MongoDB 协议级兼容与 JSONB 引擎性能深度对比
数据库·mongodb·kingbase
he___H9 小时前
mongodb
数据库·mongodb
aygh1 天前
互联网大厂Java面试场景:技术问答实录
mybatis·springboot·多线程·hashmap·java面试·arraylist·技术总结
yongui478341 天前
红外额温枪/体温枪单片机控制源码(STM32方案)
stm32·单片机·mongodb
爬山算法1 天前
MongoDB(63)如何配置数据压缩?
数据库·mongodb
那人如此可好1 天前
MongoDB从零基础搭建到实战
mongodb·db
知识分享小能手1 天前
MongoDB入门学习教程,从入门到精通,MongoDB索引(5)
数据库·学习·mongodb
Flittly2 天前
【SpringAIAlibaba新手村系列】(2)Ollama 本地大模型调用
java·ai·springboot
知识分享小能手2 天前
MongoDB入门学习教程,从入门到精通,MongoDB查询(4)
数据库·学习·mongodb
super_lzb2 天前
resources路径下的文件无法打入war包或jar包内
spring·springboot·springboot打包·war包·sources资源文件