@joel.koss
В MongoDB транзакции доступны только в версии 4.0 и выше для репликаций и кластеров. Чтобы использовать транзакции в MongoDB, следуйте этим шагам:
Пример использования транзакций в MongoDB:
1 2 3 4 5 6 7 8 9 10 |
session = client.startSession() try: session.start_transaction() db.collection1.insert_one({"key": "value"}) db.collection2.update_one({"key": "value"}, {"$set": {"new_key": "new_value"}}) session.commit_transaction() except: session.abort_transaction() finally: session.end_session() |
Здесь мы создаем новую сессию MongoDB, начинаем транзакцию в этой сессии, выполняем две операции записи данных в двух разных коллекциях и, если все прошло успешно, сохраняем изменения в базе данных. Если возникла ошибка, мы отменяем изменения и откатываем транзакцию. Наконец, мы завершаем сессию MongoDB.