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

devtools/2024/9/18 12:07:47/ 标签: springboot, mongodb

问题描述

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

代码

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


http://www.ppmy.cn/devtools/4289.html

相关文章

clang:C++ 编程入门

简单来说,Clang是一个编译器,目前用来编译C、C、Objective-C语言。 where clang D:\Swift\Toolchains\5.10.0Asserts\usr\bin\clang.exe clang -v clang version 16.0.0 Target: x86_64-unknown-windows-msvc Thread model: posix 计算 斐波那契数列&…

开源模型应用落地-LangChain高阶-QWen1.5-外部实时数据

一、前言 通过langchain框架调用本地模型,使得用户可以直接提出问题或发送指令,而无需担心具体的步骤或流程。langchain会自动将任务分解为多个子任务,并将它们传递给适合的语言模型进行处理。 本篇将通过LangChain调用外部心知天气API,并将结果返回给QWen1.5模型进行加工处…

TDengine taosAdapter启用HTTPS

HTTPS (Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加…

Servlet-Filter实现反爬虫

以前用DotNetCore实现过反爬虫功能。在tomcat里面可以利用Servlet的Filter类实现请求的控制来达到反爬虫功能,进而增强JRT的web安全。 实现黑名单过滤器,对在黑名单列表的IP的所有请求都跳转到警告页面,业务各种请求自行定义加入黑名单 /* …

QA测试开发工程师面试题满分问答15: 讲一讲InnoDB和MyISAM

InnoDB和MyISAM是MySQL中两种常见的存储引擎,它们在数据存储和处理方面有着显著的区别。让我们逐一来看一下它们的区别、原理以及适用场景。 区别: 事务支持:InnoDB是一个支持事务的存储引擎,而MyISAM不支持事务。事务是一种用于维…

C++实战——日期类的实现

日期类的实现 前言一、日期类概念实现运用场景 二、日期类的具体实现代码构造函数拷贝构造函数获取日期(内联函数)赋值加等减等加减小于小于等于大于大于等于相等不相等前置后置前置- -后置- -关于类里重载的比较运算符为什么要加外部const示例 Date.hDa…

Rust常用特型之TryFrom和TryInto特型

在Rust标准库中,存在很多常用的工具类特型,它们能帮助我们写出更具有Rust风格的代码。 我们前面学习了了From和Into特型,今天我们来学们一下两个相似的特型TryFrom和TryInto。看名字就知道他们是试图转换的意思,那为什么有试图转换…

浏览器——Microsoft Edge

Microsoft Edge 浏览器具有诸多功能特点和使用技巧 核心知识点和实用心得摘要: 性能优化: 睡眠标签:Edge 浏览器引入了睡眠标签功能,旨在降低内存占用和CPU使用率。当标签页长时间未活动时,系统会自动将其置于睡眠状态…

18. TypeScript的配置 tsconfig.json

1.为什么需要tsconfig.json tsconfig.json文件是TypeScript项目的重要组成部分,它定义了项目的根文件和编译器选项。通过这个文件,我们可以控制TypeScript编译器的行为,以满足我们的需求。 2. tsconfig.json文件的基本结构 tsconfig.json是…

vue2中数组的变更检测

一、数组的变更检测 之前我们在学习深入data属性的知识中,提及到Vue2中通过Object.defineProperty()方法实现数据响应、数据绑定。但是Object.defineProperty()方法有一个缺点,就是Object.defineProperty()在数组内部数据变动的时候,不能监听…

golang-基础语法

make 和 new 的区别 make 和 new 都是用来分配内存 make 只能对 slice map channel 进行初始化结构体实例。new 可以对任意类型进行初始化make 用于分配数据对象的具体实例,new 用于分配数据类型的默认值,并返回该数据的指针。 new 出来的 slice 、ma…

数据结构之单链表相关刷题

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构 数据结构之单链表的相关知识点及应用-CSDN博客 下面题目基于上面这篇文章: 下面有任何不懂的地方欢迎在评论区留言或…

MySQL数据库基础

目录 数据库介绍: 数据库分类: SQL分类(了解): MySQL数据库基础: 数据库的操作: 查看数据库: 创建数据库: 选中数据库: 删除数据库: 常…

python打印字符串与整数时发现的问题

字符串和整数不能用号连在一起,但是用,隔开就不出问题 字符串和整数不能直接使用号连在一起,因为在这里被用作算术运算符进行数值相加。如果尝试这样做,会引发TypeError。但是,如果你使用,将它们隔开,Pytho…

Ps基础学习笔记

Ps基础学习笔记 什么是Ps? Ps,全称Adobe Photoshop,是一款由Adobe公司开发的图像处理软件,广泛应用于图像编辑、图像合成、图像修饰等领域。 Ps的界面介绍 Ps的界面主要分为菜单栏、工具栏、选项栏、面板和工作区组成。菜单栏包含…

Linux引导过程与服务控制

Linux操作系统引导过程 排除启动类故障 服务控制及切换运行级别 优化启动过程 Linux引导过程 引导过程总览: 简化来说就是由开机自检 MBA引导 GRUB菜单 加载内核(kernel) init进程初始化等组成 Linux 操作系统的引导过程&…

K8S基础概念

一、MASTER Kubernetes里的Master指的是集群控制节点,在每个Kubernetes集群里都需要有一个Master来负责整个集 群的管理和控制,基本上 Kubernetes的所有控制命令都发给它,它负责具体的执行过程,我们后 面执行的所有命 令基本都…

用html写一个雨的特效

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>雨特效</title><link rel"stylesheet" href"./style.css"> </head> <body> <div id"wrap-textu…

【安装部署】Apache SeaTunnel 和 Web快速安装详解

版本说明 由于作者目前接触当前最新版本为2.3.4 但是官方提供的web版本未1.0.0&#xff0c;不兼容2.3.4&#xff0c;因此这里仍然使用2.3.3版本。 可以自定义兼容处理&#xff0c;官方提供了文档&#xff1a;https://mp.weixin.qq.com/s/Al1VmBoOKu2P02sBOTB6DQ 因为大部分用…

【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

此篇智能家居入门与前两篇类似&#xff0c;但是是使用MQTT协议接入ONENET云平台&#xff0c;实现微信小程序与下位机的通信&#xff0c;这里相较于使用http协议的那两篇博客&#xff0c;在主程序中添加了独立看门狗防止程序卡死和服务器掉线问题。后续还有使用MQTT协议连接MQTT…