Spring Data MongoDB是否已经支持MongoDB中的事务
Spring Data Lovelace M3(2.1.0.M3)支持于2018年5月17日发布的MongoDB v4.0的同步事务。另请参见Spring Data Lovelace M3发行说明。
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