英文:
How to create transactions using MongoDB Java?
问题
我正在使用Java(不是Spring)处理MongoDB集合。我希望在一个事务中执行一些更新操作,以便所有操作要么全部执行,要么全部不执行。
我没有找到关于如何实现这个的简单示例。我理解这与MongoDB中的会话有关,但是如何创建这个会话呢?如果有人能够提供一个在Java中实现这种场景的示例,我将不胜感激。
谢谢,
Osnat。
英文:
I am working in java (not is spring) on a mongo db collection. I want to perform some update operations in one transaction, so all or none of the operations will be execute.
I didn't find any simple example of how it can be done. I understand that it related to session in mongo db, but how to create this session? If someone have an example of this scenario in java I will appreciate if he could share.
Thanks,
Osnat.
答案1
得分: 6
这里有一个完整的示例在 MongoDB 4 文档中,链接在此。
使用模式如下:
ClientSession session = client.startSession();
try {
session.startTransaction( ... 一些事务选项 ... ).build());
// 操作数据
session.commitTransaction();
} catch (MongoCommandException e) {
session.abortTransaction();
} finally {
session.close();
}
英文:
There's a complete example in the mongodb 4 documentation, here.
The usage pattern looks like this:
ClientSession session = client.startSession();
try {
session.startTransaction( ... some tranaction options ... ).build());
// manipulate data
session.commitTransaction();
} catch (MongoCommandException e) {
session.abortTransaction();
} finally {
session.close();
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论