Spring Data MongoDB 數(shù)據(jù)庫(kù)批量操作的方法
前言
在項(xiàng)目開(kāi)發(fā)中遇到了需要批量插入數(shù)據(jù)和更新數(shù)據(jù)的操作,但是在某度上搜并沒(méi)有找到有用的東西,于是到stackoverflow中搜到如下解決方案:

實(shí)踐
一、BulkOperations 批量插入
代碼如下:
testModel m1 = new testModel("m1", 10);
testModel m2 = new testModel("m2", 20);
// BulkMode.UNORDERED:表示并行處理,遇到錯(cuò)誤時(shí)能繼續(xù)執(zhí)行不影響其他操作;BulkMode.ORDERED:表示順序執(zhí)行,遇到錯(cuò)誤時(shí)會(huì)停止所有執(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ù)。

最后,希望這些例子對(duì)網(wǎng)友們有幫助。也希望大家多多支持腳本之家。
相關(guān)文章
解決@DateTimeFormat格式化時(shí)間出錯(cuò)問(wèn)題
這篇文章主要介紹了解決@DateTimeFormat格式化時(shí)間出錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
SpringBoot項(xiàng)目修改訪問(wèn)端口和訪問(wèn)路徑的方法
這篇文章主要介紹了SpringBoot項(xiàng)目修改訪問(wèn)端口和訪問(wèn)路徑的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
利用ssh實(shí)現(xiàn)服務(wù)器文件上傳下載
這篇文章主要為大家詳細(xì)介紹了如何利用ssh實(shí)現(xiàn)服務(wù)器文件上傳下載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
java實(shí)現(xiàn)堆排序以及時(shí)間復(fù)雜度的分析
本文主要介紹了java實(shí)現(xiàn)堆排序以及時(shí)間復(fù)雜度,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12

