mongoTemplate通过upsert实现数据存在就更新,不存在就插入数据

SpringBoot MongoTemplate使用详解 阅读详情
// 查询条件,如果数据存在更新
Query query = new Query();
query.addCriteria(Criteria.where("statisticsDatetime").is(e.getStatisticsDatetime()));
query.addCriteria(Criteria.where("storeId").is(e.getStoreId()));

// 更新的字段
Update update = new Update();
update.set("expenseStatisticsList", e.getExpenseStatisticsList());
update.set("parentStoreId", e.getParentStoreId());
update.set("storeType", e.getStoreType());
mongoTemplate.upsert(query, update, ContractItemExpenseStatistics.class, MongodbTableEnum.expense_statistics.getValue());

 

MongoDB批量upsert/save package com.ott.demo.dao.mongo.batch; import com.alibaba.fastjson.JSON; import com.gooagoo.log.GooagooLog; import com.mongodb.BasicDBObject; import com.mongodb.CommandResult; import com.mongodb.DBCollection; import com.mongodb.DBObject; import org.springf 阅读详情

相关推荐

Cadence Virtuoso实战:NMOS差分放大器设计与SPICE仿真全解析

本文详细解析了使用Cadence Virtuoso设计NMOS差分放大器并进行SPICE仿真的全流程。从基础设计要点、原理图绘制到工作点分析与性能调优,提供了实用的设计技巧和常见问题解决方案,帮助工程师高效完成模拟集成电路设计。重点介绍了差分放大器的关键参数设置、饱和区优化及版图设计注意事项,适用于ADC、DAC等高性能电路开发。

weixin_28340315的博客 611

mongodb/mongoTemplate.upsert批量插入更新数据的实现

mongodb/mongoTemplate.upsert批量插入更新数据的实现

hahaha_1112的博客 1万+

SpringBoot实战——仿b站项目(一)

热部署就是当应用程序这种运行的时候升级冉家或者修改某一部分代码、配置文件时,无需手动启动应用,即可修改的部分生效工具 + IDEA配置。

weixin_52880572的博客 3455

MongoTemplate用法

1.首先pom.xml <!-- springboot 整合 mongodb --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> <version>2.0.0.RELEASE&l...

奋斗的新丁 3011

大白映射 宝马Esys编程设码映射、USB设备映射

大白映射,宝马Esys设码编程、USB设备映射

denson0394的博客 4800

幻尔串口总线舵机控制Python SDK

幻尔串口总线舵机控制Python SDK,可以直接在PC端,不需要借助单片机对舵机进行控制。

daishabby2486的博客 4085

springboot整合mongodb复杂查询和分页查询

添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> 配置文件 ...

shawn的博客 4054

决策变量乘积项的线性化

介绍了决策变量相乘情况下的线性化,并用案例进行线性化演示,其中针对连续变量相乘的情况介绍了McCormick包络的近似线性化方法

Linshaodan520的博客 1842

基于MongoTemplate对数据库进行增删查改操作的入门基础

MongoTemplate对MongoDB数据库进行增删查改操作的入门基础        本文是基于使用Spring data MongoDB中的Mongotemplate来进行操作的,因为Mongotemplate集成了许多内置的方法来操作mongoDB数据库,使用起来比较简单易懂,值得大家来学习一下。  &nbsp...

xuguoxing123的博客 4000

某物data魔改与变种算法还原(含加解密Py纯算)

某物data加解密、设备指纹魔改、变异、自定义加密分析与纯算还原

吴秋霖的博客 1281

Openclaw 错误分析 与 解决方案 之:Selected model is at capacity. Try a different model, or wait and retry.

Openclaw 错误分析 与 解决方案 :Selected model is at capacity. Try a different model, or wait and retry.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 6421

mongoTemplate 常见操作

插入数据 将参数转换成一个对象,直接调用insert方法即可:举例: @Document(collection="student") public class Student { private String studentId; private String name; private int age; private String sex; public String getStudentId() { return stu...

longlongbug的博客 2万+

移动端HDR

移动HDR是近年来移动设备最大的技术进步之一。自2017年起,它就开始出现在旗舰手机上,包括苹果(Apple)和三星(Samsung)在内的大多数制造商都加入了这一行列。这一趋势在过去几年里席卷了整个电视行业,但在最近几年才真正深入人心。而且,最近,将更多的HDR内容放到移动设备上的趋势已经加快。对于这种新兴技术来说,它还处于相对早期的阶段,但它也非常有趣,值得关注。 HDR是什么? HDR是...

ISP行业的忠实粉丝 1340

MongoDB单条数据插入更新及批量数据插入更新

单条数据插入更新 public void insertStubStatusRealTime(Map<String, Object> params) throws ParseException { String stubStatusTableName = "t_stub_status_realtime"; String stubId = (String) ...

kuaimeidong的博客 1100

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MongoTemplate —保存、更新和删除文档

如果你想避免把整个Java类的名字写成类型信息,而是想使用一个key,你可以在实体类上使用 @TypeAlias 注解。如果你需要进一步定制映射,可以看看 TypeInformationMapper 接口。该接口的实例可以在 DefaultMongoTypeMapper 上配置,反过来,可以在 MappingMongoConverter 上配置。Example 60. 为一个实体定义一个类型别名请注意,所产生的文档中包含 pers 作为 _class 字段的值。

深圳市多克创新科技有限公司 3524

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

springboot mongodb 批量(bulkOps)插入或更新(upsert)数据

参与的项目中有一个业务场景,有两个消费者从kafka中拉取数据消费: 1、订单消费者:从订单队列中拉取订单数据,插入到mongodb,集合名称为order(主要包含id、orderNo、orderName、status) 2、订单状态消费者:从订单状态队列中拉取数据,更新order集合中的状态字段(status) 存在问题: 1、订单状态消费者消费依赖于订单消费者,如果订单消费者消费速度慢了,订单还没有插入到mongodb中,订单状态根据订单号orderNo去更新数据,则会找不到订单数据...

conquer的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Mysql - Upsert功能实现

在看到了mongoTemplate的操作之后,觉得这种东西是很符合我们程序员世界的操作的,但是看到mysql的jdbc之后,瞬间一百万个小泥马从头飘过,所以就想自己实现一个mysql版本的upsert功能,有set与increase,decrease。 实现操作 参考mongoTemplate,创建一个update.java与query.java类,方便两款db之间转换 import java.util.HashMap; import java.util.Map; public...

u011250186的博客 929

Spring MongoTemplate upsert

Spring MongoTemplate upsert 插入未报异常,但是数据库中没有查询到相关记录。 如下,一般为update.set()方法,没有把除了Criteria中的字段都update。     package com.oasis.model; import com.google.gson.Gson; import org.apache.commons.lang.Str...

Y292450104的博客 1471

mongo——各种数据原子插入方式

    与mysql的insert不同,mongo在数据插入方面有多种方式,这里进行统一的总结一下: insert     和mysql一样,mongo也支持insert这种直接插入,当插入出现唯一键冲突时则会失败,抛出异常: db.test.insert({ "name":"1223" }) save     save是基于主键的文档替换,如果主键存在则其他字段完全替换成新的字段,如果老的字段,新的文档中不存在,则删除了,如果主键原本不存在,这插入一条新的文档。可能会觉得这种方式挺好的,不会出现

qq_30095631的博客 873

mongo的upsert(spring的mongo template)

mongo的api在某些方面表现的异常优秀,这几天体会了一下mongo的upsert方法。 我的目的是想在某个项号下记录每天的评论,并且能够查到某段日期间按时间倒叙排列的评论。我的设计是这样: 1 类设计 首先是记录每天的评论汇总 [html] view plain copy @Document(collection="comments")  public cl

rj597306518的博客 5482

MongoDB学习02:使用MongoTemplate操作MongoDB

文章目录MongoDB学习02:使用MongoTemplate操作MongoDB`MongoTemplate`的使用示例`MongoTemplate`的使用向Spring容器注入`MongoTemplate`字段和类型映射`_id`字段映射类型映射 MongoDB学习02:使用MongoTemplate操作MongoDB SpringData的官方文档Spring Data MongoDB - R...

ncepu_Chen的博客 3877

Spring整合MongoDB----Template API之保存、更新和删除Documents

MongoTemplate / ReactiveMongoTemplatge允许你保存、更新和删除域对象,并将这些对象映射到存储在MongoDB中的documents。命令式和反应式(reactive)API的API签名大部分相同,只是返回类型不同。当同步API使用void、single Object和List时,反应式(reactive)对应地由Mono< Void>, Mono< Object> and Flux组成。

爱看技术博客 1519

MongoDB upsert操作并发的原子性

在用C++对MongoDB执行update操作的时候,如果设置了upsert参数为true,则会自动插入不存在的数据。在高并发环境下,会导致数据重复。解决方法是为查询条件添加unique index, 参考官方文档:http://docs.mongodb.org/manual/core/write-operations-atomicity/http://docs.mongodb.org/manua

Dean Chen的专栏 1万+

关于mongoDB插入去重以及高并发问题

关于mongoDB插入去重以及高并发问题 最近在项目中碰到过向mongoDB插入数据去重问题。一开始我的想法直接用upsert,我的项目部分代码如下: //使用Upsert进行插入,如果存在就更新,不存在则插入 //根据报告时间和code进行筛选去重 Query query = new Query(); query.addCriteria(Criteria.where("reporttimeStamp").is(meteorologicalDa

xian_hui的博客 4114

MongoDB更新文档保存文档

update() 方法用于更新已存在的文档。语法格式如下: db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } ) query : update的查询条件,类似sql update查询内where后面的。 update : up

琳琳的博客 478
上一篇: 动态修改java日志等级
下一篇: Idea设置java类方法注释模板
hwmhehe
博客等级 码龄13年 86粉丝 106原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值