前言
在项目开发中遇到了需要批量插入数据和更新数据的操作,但是在某度上搜并没有找到有用的东西,于是到stackoverflow中搜到如下解决方案:
实践
一、BulkOperations 批量插入
代码如下:
testModel m1 = new testModel("m1", 10);
testModel m2 = new testModel("m2", 20);
// BulkMode.UNORDERED:表示并行处理,遇到错误时能继续执行不影响其他操作;BulkMode.ORDERED:表示顺序执行,遇到错误时会停止所有执行
BulkOperations ops = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, "test");
ops.insert(m1);
ops.insert(m2);
// 执行操作
ops.execute();
运行结果:
成功插入多条数据。
二、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();
运行结果:
成功更新多条数据。
最后,希望这些例子对网友们有帮助。