Spring Data MongoDB系列之三:数据库批量操作

前言

在项目开发中遇到了需要批量插入数据和更新数据的操作,但是在某度上搜并没有找到有用的东西,于是到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();

运行结果:
成功更新多条数据。
这里写图片描述

最后,希望这些例子对网友们有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值