sql >> Base de Datos >  >> NoSQL >> MongoDB

No se puede conservar el estado de la transacción porque falta la recopilación de transacciones de la sesión

Es probable que también haya dejado caer config.transactions recopilación. Esta es una colección para uso interno que almacena registros utilizados para admitir retryable escribe para conjuntos de réplicas y clústeres fragmentados. Consulte también Configurar bases de datos .

Desde MongoDB v3.6+, los usuarios no podrán eliminar la config base de datos en conjunto de réplicas de mongo caparazón. Aunque si te estás conectando usando mongo shell anterior a v3.6, aún puede hacerlo, asegúrese de actualizar el shell para que coincida con la versión del servidor.

Puede volver a crear manualmente la colección en el nodo principal:

use config
db.createCollection("transactions");

Alternativamente, una elección de conjunto de réplicas también lo volvería a crear automáticamente. Esto se debe a que la creación de config.transactions la colección es parte de un paso de nodo de conjunto de réplicas. session_catalog_mongod.cpp#L156

Las nuevas config.transactions la colección se replicará en los secundarios después de que el principal haya completado la fase de recuperación.