Spring 数据MongoDB 4.0 事务支持

Spring Data MongoDB 4.0 transactions support

MongoDB 4.0 将引入 transactions 支持 ACID 保证。

Spring 数据 MongoDB 是否已经支持 MongoDB 中的交易,如果不支持,这个很棒的功能何时可用。我真的需要它,考虑到以下问题 - MongoDB schema design in order to support application horizontal scaling

Does Spring Data MongoDB already supports the transactions in MongoDB

Spring Data Lovelace M3 (2.1.0.M3) 支持 MongoDB v4.0 的同步事务,于 2018 年 5 月 17 日发布。另请参阅 Spring Data Lovelace M3 release notes

示例来自 Spring Data docs: MongoDB transactions

ClientSession session = client.startSession(options);                   

template.withSession(session)
    .execute(action -> {
        session.startTransaction();                                     
        try {

            Step step = // ...;
            action.insert(step);
            process(step);
            action.update(Step.class).apply(Update.set("state", // ...
            session.commitTransaction();                                
        } catch (RuntimeException e) {
            session.abortTransaction();                                 
        }
    }, ClientSession::close)                                            
    .subscribe();

另见相关:DATAMONGO-1920 and DATAMONGO-1970

你可以参考我最近在另一个帖子里回答的答案,希望对你有所帮助。

但这是针对响应式 Spring 引导和 MongoDB 设置

link是