Spring Data MongoDB 數(shù)據(jù)庫批量操作的方法
前言
在項(xiàng)目開發(fā)中遇到了需要批量插入數(shù)據(jù)和更新數(shù)據(jù)的操作,但是在某度上搜并沒有找到有用的東西,于是到stackoverflow中搜到如下解決方案:
實(shí)踐
一、BulkOperations 批量插入
代碼如下:
testModel m1 = new testModel("m1", 10); testModel m2 = new testModel("m2", 20); // BulkMode.UNORDERED:表示并行處理,遇到錯誤時能繼續(xù)執(zhí)行不影響其他操作;BulkMode.ORDERED:表示順序執(zhí)行,遇到錯誤時會停止所有執(zhí)行 BulkOperations ops = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, "test"); ops.insert(m1); ops.insert(m2); // 執(zhí)行操作 ops.execute();
運(yùn)行結(jié)果:
成功插入多條數(shù)據(jù)。
二、BulkOperations 批量更新
代碼如下:
Update u1 = new Update().set("age",15); Query q1 = new Query(Criteria.where("name").is("m1")); Update u2 = new Update().set("age",25); Query q2 = new Query(Criteria.where("name").is("m2")); BulkOperations ops = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, "test"); ops.updateOne(q1,u1); ops.updateOne(q2,u2); ops.execute();
運(yùn)行結(jié)果:
成功更新多條數(shù)據(jù)。
最后,希望這些例子對網(wǎng)友們有幫助。也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于StringUtils.isBlank()的使用及說明
這篇文章主要介紹了關(guān)于StringUtils.isBlank()的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05SpringBoot?AnnotationUtils工具類的使用實(shí)例詳解
這篇文章主要介紹了SpringBoot?AnnotationUtils工具類的使用,使用自定義注解標(biāo)記業(yè)務(wù)方法,原生Java獲取注解及AnnotationUtils工具類獲取方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09IDEA使用Tomcat運(yùn)行web項(xiàng)目教程分享
在非Spring Boot項(xiàng)目中運(yùn)行Nacos示例,需要手動配置Tomcat容器,本文介紹了如何在IDEA中配置Tomcat,并詳細(xì)解決了配置過程中可能遇到的異常情況,步驟包括修改IDEA項(xiàng)目結(jié)構(gòu)、添加Web模塊、配置Artifacts和Tomcat Server2024-10-10Java 中實(shí)現(xiàn)隨機(jī)無重復(fù)數(shù)字的方法
為了更好地理解這個題意,我們先來看下具體內(nèi)容:生成一個1-100 的隨機(jī)數(shù)組,但數(shù)組中的數(shù)字不能重復(fù),即位置是隨機(jī)的,但數(shù)組元素不能重復(fù)2013-03-03Java 字符串反轉(zhuǎn)實(shí)現(xiàn)代碼
這篇文章主要介紹了 Java 字符串反轉(zhuǎn)實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03Mybatis插入時返回自增主鍵方式(selectKey和useGeneratedKeys)
這篇文章主要介紹了Mybatis插入時返回自增主鍵方式(selectKey和useGeneratedKeys),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09