Definición
killAllSessionsEl comando elimina todas las sesiones de los usuarios
killAllSessionsespecificados. []1
Sintaxis
El comando tiene la siguiente sintaxis:
db.runCommand( { killAllSessions: [ { user: <user>, db: <dbname> }, ... ] } )
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
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.
Importante
Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.
Campos de comandos
El comando toma una matriz de documentos, donde cada documento especifica el usuario y su base de datos de autenticación. Especifique una matriz vacía para finalizar todas las sesiones de todos los usuarios del sistema. []1
Ver sesiones existentes
Para ver las sesiones existentes, consulte la $listSessions operación $listLocalSessions o.
| [1] | (,1 2) La killAllSessions operación ignora las sesiones con transacciones preparadas. Consulte Comportamiento para obtener más detalles. |
Control de acceso
Si la implementación exige autenticación/autorización, debe tener para killAnySession killAllSessions ejecutar el comando.
Nota
Los usuarios pueden matar sus propias sesiones incluso sin la acción del killAnySession privilegio.
Comportamiento
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 killAllSessions 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.
Ejemplos
Matar todas las sesiones
La siguiente operación mata todas las sesiones de todos los usuarios del sistema:
db.runCommand( { killAllSessions: [ ] } )
Eliminar todas las sesiones de usuarios específicos
La siguiente operación elimina todas las sesiones del usuario appReader en las bases de datos db1 y del usuario reportWriter en las bases de datos db2:
db.runCommand( { killAllSessions: [ { user: "appReader", db: "db1" }, { user: "reportWriter", db: "db2" } ] } )