MongoDB 4.0将引入transactions支持ACID保证。
Spring Data MongoDB是否已经支持MongoDB中的事务,如果没有,那么这个真棒功能何时可用。我确实需要它,考虑到以下问题 - MongoDB schema design in order to support application horizontal scaling
答案 0 :(得分:2)
Spring Data MongoDB是否已支持MongoDB中的事务
Spring Data Lovelace M3(2.1.0.M3)支持2018年5月17日发布的MongoDB v4.0的同步事务。另请参阅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和DATAMONGO-1970