public boolean mongoInsertManyTransaction(final MongoClient client, List<Document> document) {
TransactionOptions txnOptions = TransactionOptions.builder()
.readPreference(ReadPreference.primary())
.readConcern(ReadConcern.MAJORITY)
.writeConcern(WriteConcern.MAJORITY)
.build();
// 事务逻辑
try (ClientSession clientSession = client.startSession()) {
clientSession.withTransaction(
() -> {
// 获取数据库
MongoDatabase db = client.getDatabase(dbName);
MongoCollection<Document> collection = db.getCollection(collectionName);
//插入多条文档数据
collection.insertMany(clientSession, document);
return true;
},
txnOptions
);
}
return false;
}
Mongodb事务demo
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- mongodb 4.0已经支持副本集级别的事务了,而且现在是稳定版.下一个版本4.2准备支持分片的事物.我因为数据...
- Spring事务代理机制总结: 1、Spring声明式事务的底层是怎么实现的? 通过Spring中的代理,那在Sp...
- 参考了很多网上的教程做了一个简易的多数据源切换demo: 1.pom.xml 依赖准备: 2.yml文件 3.项目...