MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Der Transaktionsstatus kann nicht beibehalten werden, da die Sitzungstransaktionssammlung fehlt

Wahrscheinlich haben Sie auch config.transactions Sammlung. Dies ist eine Sammlung für den internen Gebrauch, die Datensätze speichert, die zur Unterstützung von retryable verwendet werden schreibt für Replikatsätze und Sharding-Cluster. Siehe auch Konfigurationsdatenbanken .

Seit MongoDB v3.6+ können Benutzer die config nicht löschen Datenbank im Replikatsatz von mongo Hülse. Wenn Sie sich jedoch mit mongo verbinden Shell vor v3.6, können Sie dies immer noch tun, stellen Sie bitte sicher, dass Sie die Shell aktualisieren, damit sie mit der Serverversion übereinstimmt.

Sie können die Sammlung auf dem primären Knoten manuell neu erstellen:

use config
db.createCollection("transactions");

Alternativ würde eine Replikat-Set-Wahl es auch automatisch neu erstellen. Dies liegt an der Erstellung von config.transactions Die Sammlung ist Teil eines Replikatsatzes, der nach oben gestuft wird. session_catalog_mongod.cpp#L156

Die neue config.transactions Die Sammlung wird auf die Sekundärseiten repliziert, nachdem die Primärseite die Aufholphase abgeschlossen hat.