sql >> Database >  >> NoSQL >> MongoDB

Kan transactiestatus niet behouden omdat de verzameling van sessietransacties ontbreekt

Het is waarschijnlijk dat u ook config.transactions verzameling. Dit is een verzameling voor intern gebruik waarin records worden opgeslagen die worden gebruikt ter ondersteuning van retryable schrijft voor replicasets en shard-clusters. Zie ook Config-databases .

Sinds MongoDB v3.6+ kunnen gebruikers de config . niet meer verwijderen database in replicaset van mongo schelp. Hoewel als u verbinding maakt via mongo shell ouder dan v3.6, kunt u dit nog steeds doen, zorg ervoor dat u de shell upgradet zodat deze overeenkomt met de serverversie.

U kunt de verzameling handmatig opnieuw maken op het primaire knooppunt:

use config
db.createCollection("transactions");

Als alternatief zou een replicaset-verkiezing deze ook automatisch opnieuw maken. Dit komt omdat het aanmaken van config.transactions collection maakt deel uit van een replicaset node step up. session_catalog_mongod.cpp#L156

De nieuwe config.transactions verzameling wordt gerepliceerd naar de secundaire groepen nadat de primaire de inhaalfase heeft voltooid.




  1. MongooseJS - Hoe een document en document waarnaar wordt verwezen op te slaan

  2. Hoe gaat `mongoose` om met het toevoegen van documenten met VELDEN die __NOT__ deel uitmaken van het schema?

  3. Geen server gekozen door WritableServerSelector uit cluster

  4. Mongodb op Ubuntu