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 sesión
MongoDB concatena cada UUID especificado con el hash de las credenciales del usuario autenticado para identificar las sesiones del usuario que se deben eliminar. Si el usuario no tiene ninguna sesión que coincida, el no tiene killSessions efecto.
Operaciones en curso
Matar una sesión mata cualquier operación en curso en la sesión y cierra cualquier cursor abierto asociado 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") } ] } )