263 OperationNotSupportedInTransaction: Operation not supported inside a multi-document transaction
MongoDBNe demek?
Çok belgeli bir transaction içinde, o bağlamda desteklenmeyen bir işlem çalıştırılmaya çalışıldı. Bazı komutlar (özellikle bazı DDL ve meta veri işlemleri) transaction içinde çalışamaz.
Neden olur?
Transaction içinde koleksiyon/index oluşturma gibi (sürüme bağlı olarak) desteklenmeyen işlemler; sayım/liste türü bazı komutlar; ya da doğrudan işlem oturumuna uygun olmayan yönetim komutları. Eski MongoDB sürümlerinde transaction içinde DDL desteklenmez (4.4+ ile bir kısmı gelmiştir).
Nasıl çözülür?
Desteklenmeyen işlemi transaction'ın dışına alın (ör. gerekli koleksiyon/index'leri transaction başlamadan önce oluşturun). MongoDB sürümünüzü kontrol edin; 4.4+ bazı DDL'leri transaction içinde destekler. Sürücüde işlemi ayrı bir oturumda çalıştırın. Transaction'ı yalnızca desteklenen CRUD işlemleriyle sınırlayın.
Aynı motorda diğer kayıtlar
- 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