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(異なるオプション/名前のインデックスが既に存在する)