/
SwiftfeetStallion
/
Homeworks
Обзор
Документация
Войти
/
SwiftfeetStallion
/
Homeworks
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
MongoDB/scripts/task6.py
27 строк
1 KB
SwiftfeetStallion
upload files
14 апр 2025, 16:43
14 апр 2025, 16:43
cd63730
Код
Авторство
О чём код?
import pymongo client = pymongo.MongoClient("mongodb://localhost:27017/", directConnection=True) db = client.get_database('shopsmart') customers = db.get_collection('customers') products = db.get_collection('products') orders = db.get_collection('orders') orders.update_many({}, {"$set": {"status": "done"}}) session = client.start_session() session.start_transaction() orders.update_one({"_id": 1}, {"$set": {"status": "cancelled"}}, session=session) products.update_one({"_id": 86}, {"$inc": {"stock": -4}}, session=session) print("Внутри транзакции: ", orders.find_one(session=session)) print("Вне транзакции: ", orders.find_one()) session.commit_transaction() print("После завершения: ", orders.find_one()) session.start_transaction() orders.update_one({"_id": 2}, {"$set": {"status": "cancelled"}}, session=session) print("Внутри транзакции: ", orders.find_one({"_id": 2}, session=session)) session.abort_transaction() print("Актуальное состояние: ", orders.find_one({"_id": 2}))