Spring Data MongoDB 數(shù)據(jù)庫批量操作的方法
更新時間:2018年11月01日 14:59:49 作者:HJHxHJH
在項目開發(fā)中經(jīng)常會批量插入數(shù)據(jù)和更新數(shù)據(jù)的操作,這篇文章主要介紹了Spring Data MongoDB 數(shù)據(jù)庫批量操作的方法,非常具有實用價值,需要的朋友可以參考下
前言
在項目開發(fā)中遇到了需要批量插入數(shù)據(jù)和更新數(shù)據(jù)的操作,但是在某度上搜并沒有找到有用的東西,于是到stackoverflow中搜到如下解決方案:

實踐
一、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)友們有幫助。也希望大家多多支持腳本之家。

