Definición
killSessionsEl
killSessionscomando elimina 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 eliminar todas las sesiones, o si el control de acceso está habilitado, 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. Consulte Comportamiento para obtener más información. |
Comportamiento
Identificación de la sesión
MongoDB concatena cada uno de los UUIDs especificados con el hash de las credenciales de usuario autenticadas para identificar las sesiones del usuario que deben finalizarse. Si el usuario no tiene ninguna sesión que coincida, el killSessions no tiene ningún 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 operación killSessions ignora las sesiones que tienen transacciones en estado preparado. Las transacciones en estado preparado se refieren a transacciones con operaciones de guardar 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") } ] } )