Какие типы транзакций реализованы в MongoDB

Python Senior Без компании
Какие типы транзакций реализованы в MongoDB
Ответы
В MongoDB поддерживаются два типа транзакций: - **Односегментные (single-document) транзакции** Встроенная атомарность на уровне одного документа. Операции внутри документа выполняются атомарно. ``` db.products.update_one( {"_id": 1}, {"$inc": {"stock": -1}, "$set": {"last_modified": datetime.now()}} ) ``` - **Многосегментные (multi-document) транзакции** Поддерживаются с версии 4.0. Требуют реплика-сет или шардированного кластера. ``` with client.start_session() as session: with session.start_transaction(): db.orders.insert_one({"item": "book", "qty": 1}, session=session) db.inventory.update_one( {"item": "book"}, {"$inc": {"qty": -1}}, session=session ) ``` Ключевые особенности: - Транзакции в MongoDB ACID-совместимы (с версии 4.0) - Многосегментные транзакции имеют ограничения по времени (по умолчанию 60 сек) - Влияют на производительность, рекомендуются для критически важных операций