263 OperationNotSupportedInTransaction: Operation not supported inside a multi-document transaction
MongoDBЧто это значит?
Внутри многодокументной транзакции предпринята попытка операции, не поддерживаемой в этом контексте. Некоторые команды (в частности, определённые операции DDL и с метаданными) не могут выполняться внутри транзакции.
Почему возникает?
Неподдерживаемые операции внутри транзакции, например создание коллекций/индексов (в зависимости от версии); некоторые команды типа count/list; либо административные команды, недопустимые в сеансе транзакции. Старые версии MongoDB не поддерживают DDL внутри транзакций (частично поддержка появилась в 4.4+).
Как исправить
Вынесите неподдерживаемую операцию за пределы транзакции (например, создайте нужные коллекции/индексы до начала транзакции). Проверьте версию MongoDB; 4.4+ поддерживает часть DDL внутри транзакций. Выполните операцию в отдельном сеансе драйвера. Ограничьте транзакцию поддерживаемыми операциями CRUD.
Ещё по этой СУБД
- 134ReadConcernMajorityNotAvailableYet
- 202NetworkInterfaceExceededTimeLimit
- 31 RoleNotFoundRole not found
- 20 IllegalOperationIllegal operation
- 48 NamespaceExistsNamespace (collection) already exists
- 11601 InterruptedOperation was interrupted
- 85 IndexOptionsConflictIndex already exists with different options / different name