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

相关推荐
行走的山峰13 小时前
ES和MONGODB备份脚本
mongodb·es
袁庭新20 小时前
Spring Boot项目接收前端参数的11种方式
java·springboot·袁庭新·如何接收前端数据·boot接收数据
赵渝强老师1 天前
【赵渝强老师】MongoDB逻辑存储结构
数据库·mongodb
V+zmm101341 天前
基于微信小程序的在线选课系统springboot+论文源码调试讲解
java·小程序·毕业设计·mvc·springboot
清风路遥1 天前
【婚庆摄影小程序设计与实现】
微信小程序·毕业设计·springboot·课程设计
CC呢2 天前
基于单片机的智能婴儿床监护系统多功能婴儿床摇篮系统
数据库·mongodb
CT随2 天前
MongoDB
数据库·mongodb
破 风2 天前
SpringBoot 集成 MongoDB
数据库·mongodb
嗨小陈2 天前
(带源码)宠物主题商场系统 计算机项目 P10083
计算机专业·springboot·宠物·计算机大作业·商场系统
web前端神器2 天前
mongodb给不同的库设置不同的密码进行连接
数据库·mongodb