DBAtlas · Атлас эксплуатации баз данных

263 OperationNotSupportedInTransaction: Operation not supported inside a multi-document transaction

MongoDB

Что это значит?

Внутри многодокументной транзакции предпринята попытка операции, не поддерживаемой в этом контексте. Некоторые команды (в частности, определённые операции DDL и с метаданными) не могут выполняться внутри транзакции.

Почему возникает?

Неподдерживаемые операции внутри транзакции, например создание коллекций/индексов (в зависимости от версии); некоторые команды типа count/list; либо административные команды, недопустимые в сеансе транзакции. Старые версии MongoDB не поддерживают DDL внутри транзакций (частично поддержка появилась в 4.4+).

Как исправить

Вынесите неподдерживаемую операцию за пределы транзакции (например, создайте нужные коллекции/индексы до начала транзакции). Проверьте версию MongoDB; 4.4+ поддерживает часть DDL внутри транзакций. Выполните операцию в отдельном сеансе драйвера. Ограничьте транзакцию поддерживаемыми операциями CRUD.

Открыть в DBAtlas →

Ещё по этой СУБД