Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Sesiones

killAllSessions (comando de base de datos)

killAllSessions

El comando killAllSessions mata todas las sesiones para los usuarios especificados. [1]

El comando tiene la siguiente sintaxis:

db.runCommand(
{
killAllSessions: [ { user: <user>, db: <dbname> }, ... ]
}
)

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.

El comando toma un arreglo (array) de documentos donde cada documento especifica el usuario y la base de datos de autenticación del usuario. Especifique un arreglo vacío para eliminar todas las sesiones de todos los usuarios en el sistema. [1]

Para ver las sesiones existentes, consulta la operación $listSessions o $listLocalSessions.

Tip

[1](1, 2) La operación killAllSessions ignora sesiones que tienen transacciones en estado preparado. Consulta Comportamiento para más detalles.

Si la implementación aplica autenticación/autorización, debe tener el killAnySession para ejecutar el comando killAllSessions.

Nota

Los usuarios pueden terminar sus propias sesiones incluso sin la acción de privilegio killAnySession.

Matar una sesión mata cualquier operación en curso en la sesión y cierra cualquier cursor abierto asociado con estas operaciones.

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.

La killAllSessions 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.

La siguiente operación termina todas las sesiones de todos los usuarios en el sistema:

db.runCommand( { killAllSessions: [ ] } )

La siguiente operación elimina todas las sesiones del usuario appReader en el/la db1 y del usuario reportWriter en la base de datos db2:

db.runCommand( { killAllSessions: [
{ user: "appReader", db: "db1" },
{ user: "reportWriter", db: "db2" }
] } )

Volver

endSessions

En esta página