Definición
killSessionsEl
killSessionsEl comando cierra las sesiones especificadas. Si el control de acceso está habilitado, el comando solo cierra las sesiones 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 una matriz de documentos que especifican la parte UUID del ID de sesión. Especifique una matriz vacía [ ] para cerrar 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, consulte la $listSessions operación $listLocalSessions o.
| [1] | (,1 2) La killSessions operación ignora las sesiones con transacciones preparadas. Consulte Comportamiento para obtener 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 sesiones eliminadas
La sesión eliminada aún puede aparecer como sesión actual, y las operaciones futuras podrían usarla. Para ver las sesiones existentes, consulte la $listSessions operación $listLocalSessions o.
Sesiones con transacciones en estado preparado
La operación killSessions ignora las sesiones con transacciones en estado preparado. Las transacciones en estado preparado se refieren a transacciones con operaciones de escritura que abarcan varios fragmentos cuyo coordinador de confirmación ha completado "sendingPrepare" action la.
Ejemplo
La siguiente operación elimina la sesión especificada para el usuario:
db.runCommand( { killSessions: [ { id: UUID("f9b3d8d9-9496-4fff-868f-04a6196fc58a") } ] } )