【发布时间】:2019-11-21 16:25:36
【问题描述】:
我在我的网络服务器中使用 MongoDb 4.2。 当我在全局会话/事务 (T1) 中打开会话/事务 T2 时,T2 中的提交将持久保存在数据库中,并且无法在全局事务 T1 中取消。
我们如何实现这个嵌套事务? 我应该在我的网络服务器中只打开一个单例会话并在所有更新操作中使用它吗?
这是一个例子:
def remove_order_in_book(self, book, order):
with self.start_session() as session:
with session.start_transaction():
book_collection.delete_one(..)
def remove_book_from_order(self, book):
with client.start_session() as session:
with session.start_transaction():
orders = self.get_orders_of_book (book)
for order in orders:
self.remove_order_in_book(book, order)
感谢您的任何想法!
【问题讨论】:
标签: mongodb transactions nested rollback