Я использую MongoDb 4.2 на своем веб-сервере. Когда я открываю сеанс/транзакцию T2 внутри глобального сеанса/транзакции (T1), фиксация внутри 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)
Спасибо за любую идею!