Definición
killSessionsEl comando finaliza las sesiones especificadas. Si el control de acceso está habilitado, el comando solo finaliza las sesiones propiedad del
killSessionsusuario. []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 killSessions operación ignora las sesiones que tienen transacciones en estado preparado. Consulte Comportamiento para obtener más detalles. |
Comportamiento
Identificación de la sesión
MongoDB concatena cada uno de los UUID especificados con el hash de las credenciales del usuario autenticado para identificar las sesiones del usuario que se deben finalizar. Si el usuario no tiene ninguna sesión que coincida, el no tiene killSessions 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 múltiples fragmentos cuyo coordinador de confirmación ha completado la "sendingPrepare" action operación.
Ejemplo
La siguiente operación elimina la sesión especificada para el usuario:
db.runCommand( { killSessions: [ { id: UUID("f9b3d8d9-9496-4fff-868f-04a6196fc58a") } ] } )