28 PathNotViable: Cannot use the part of the path to traverse the element
MongoDBWas bedeutet das?
Ein Update wollte einen Feldpfad mit Punktnotation (z. B. a.b.c) durchlaufen, aber ein Teil des Pfads traf auf einen Typ, der keine Unterfelder enthalten kann (einen Skalarwert oder ein Element falschen Typs). Der Pfad konnte daher nicht durchlaufen werden.
Ursache
Schreiben auf einen verschachtelten Pfad wie a.b.c, während das Feld 'a' im Dokument ein Skalar (z. B. Zahl/String) statt eines Objekts/Arrays ist; oder Typkonflikte, etwa ein Objekt, wo ein Array-Index erwartet wird. Häufig bei Dokumenten mit inkonsistentem Schema (beim Aktualisieren tiefer Pfade mit $set).
Lösung
Stelle vor dem Update sicher, dass der Pfad den erwarteten Typ (Objekt/Array) hat. Korrigiere die inkompatiblen Dokumente oder mache das Update von der Dokumentstruktur abhängig. Konvertiere das Feld bei Bedarf zuerst in den richtigen Typ (z. B. ersetze den Skalarwert durch ein Objekt) und schreibe dann das verschachtelte Feld. Erwäge Schemavalidierung für ein konsistentes Schema.
Weitere Einträge zu dieser Datenbank
- 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