28 PathNotViable: Cannot use the part of the path to traverse the element
MongoDBNe demek?
Bir güncelleme (update), noktalı bir alan yolunu (ör. a.b.c) izlemeye çalıştı ancak yolun bir parçası, alt alan içeremeyen bir türe (skaler değer ya da yanlış türde bir eleman) denk geldi. Bu nedenle yol geçilemedi.
Neden olur?
Belgede 'a' alanı bir nesne/dizi değil de bir skaler (ör. sayı/dize) iken a.b.c gibi iç içe bir yola yazmaya çalışmak; ya da bir dizi indeksi beklenirken nesne bulunmak gibi tür uyumsuzlukları. Şema tutarsız belgelerde ($set ile derin yol güncellerken) sık görülür.
Nasıl çözülür?
Güncellemeden önce ilgili yolun beklenen türde (nesne/dizi) olduğundan emin olun. Uyumsuz belgeleri düzeltin ya da güncellemeyi belge yapısına göre koşullandırın. Gerekirse önce alanı doğru türe dönüştürün (ör. skaler değeri bir nesneyle değiştirin) sonra iç alanı yazın. Şema tutarlılığı için doğrulama (schema validation) uygulamayı değerlendirin.
Aynı motorda diğer kayıtlar
- 175 QueryPlanKilledQuery plan killed during execution
- 11602 InterruptedDueToReplStateChangeOperation interrupted due to a replication state change
- 136 CappedPositionLostCapped collection position lost
- 216 ElectionInProgressElectionInProgress
- 225 TransactionTooOldTransactionTooOld
- 246 SnapshotUnavailableSnapshotUnavailable
- 257 TransactionTooLargeTransactionTooLarge