Definición
killSessionsEl comando
killSessionstermina las sesiones especificadas. Si el control de acceso está habilitado, el comando solo finaliza las sesiones que son propiedad del usuario. [1]
Sintaxis
El comando tiene la siguiente sintaxis:
db.runCommand( { killSessions: [ { id : <UUID> }, ... ] } )
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando no es compatible con los clústeres M0 y Flex. Para obtener más información, consulta Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Campos de comandos
El comando toma un arreglo de documentos que especifican la parte UUID del ID de sesión. Especifique un arreglo vacío [ ] para finalizar todas las sesiones, o si el control de acceso está activado, todas las sesiones propiedad del usuario. [1]
Ver sesiones existentes
Para ver las sesiones existentes, consulta la operación $listSessions o $listLocalSessions.
| [1] | (1, 2) La operación killSessions ignora sesiones que tienen transacciones en estado preparado. Consulta Comportamiento para más detalles. |
Comportamiento
Identificación de la sesión
MongoDB concatena cada uno de los UUID especificados con el hash de las credenciales de usuario autenticadas para identificar las sesiones de usuario a finalizar. Si el usuario no tiene ninguna sesión que coincida, el killSessions no tiene efecto.
Operaciones en curso
Eliminar una sesión termina cualquier operación en progreso en la sesión y cierra todos los cursores abiertos asociados con estas operaciones.
Disponibilidad de sesión matada
La sesión matada puede seguir apareciendo como una sesión actual, y las operaciones futuras pueden utilizar la sesión matada. Para ver las sesiones existentes, consulta la $listSessions operación o la $listLocalSessions.
Sesiones con transacciones en estado preparado
La killSessions operación ignora las sesiones que tienen Transacciones en estado preparado. Las transacciones en estado preparado se refieren a transacciones con operaciones de escritura que abarcan varias particiones, cuyo coordinador de confirmación ha completado el "sendingPrepare" action.
Ejemplo
La siguiente operación elimina la sesión especificada para el usuario:
db.runCommand( { killSessions: [ { id: UUID("f9b3d8d9-9496-4fff-868f-04a6196fc58a") } ] } )