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

killAllSessions

Novedades en la versión 3.6.

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 Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Importante

Este comando no es compatible con los clústeres M0, M2, M5 y M10+ Para obtener más información, consulta Comandos no admitidos.

  • 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.

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 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 operación.

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