MongoDB 4.0将引入带有ACID保证的事务支持。
Spring Data MongoDB是否已经支持MongoDB中的事务;如果不支持,那么此功能将可用。考虑到以下问题,我确实需要它-MongoDB模式设计以支持应用程序水平扩展
Spring Data MongoDB是否已经支持MongoDB中的事务
Spring Data Lovelace M3(2.1.0.M3)支持于2018年5月17日发布的MongoDB v4.0的同步事务。另请参见Spring Data Lovelace M3发行说明。
Spring Data文档中的示例:MongoDB事务
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和DATAMONGO-1970