posts - 101,comments - 5,views - 14万

实际开发中多存在使用mongo批量存储数据list使用场景。但如果list中间某一条数据在存储出现异常如何避免对后边数据没有影响?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@Slf4j
@Service
public class PositionBuldRepository implements Serializable {
    @Autowired
    private MongoTemplate mongoTemplate;
 
    public void bulkInsert(List<Map> list, String className){
        if(!CollectionUtils.isEmpty(list)) {
            BulkOperations ops = prepareBulkOperations(list, className);
            try {
                BulkWriteResult bulkWriteResult = ops.execute();
            } catch (BulkOperationException e) {
                log.error("Some bulk operations failed.", e);
            } catch (RuntimeException e) {
                log.error("Unexpected exception while persisting positions.", e);
            }
        }
    }
 
    private BulkOperations prepareBulkOperations(List<Map> list,String className){
        BulkOperations ops=mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED,className);
        list.forEach(ops::insert);
        return ops;
    }
}

  

posted on   colorfulworld  阅读(736)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示