Встречается на собеседованиях • сегодня

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

В MongoDB поддерживаются два типа транзакций:

  1. Односегментные (single-document) транзакции
    Встроенная атомарность на уровне одного документа. Операции внутри документа выполняются атомарно.
    python
    db.products.update_one(
        {"_id": 1},
        {"$inc": {"stock": -1}, "$set": {"last_modified": datetime.now()}}
    )
  1. Многосегментные (multi-document) транзакции
    Поддерживаются с версии 4.0. Требуют реплика-сет или шардированного кластера.
    python
    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 сек)
  • Влияют на производительность, рекомендуются для критически важных операций
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы