Docs Menu
Docs Home
/ /
Sesiones

killAllSessionsByPattern (comando de base de datos)

killAllSessionsByPattern

El comando elimina todas las sesiones que coincidan con cualquiera de los patrones killAllSessionsByPattern especificados. []1

El comando tiene la siguiente sintaxis:

db.runCommand(
{
killAllSessionsByPattern: [ <pattern>, ... ]
}
)

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.

El comando toma una matriz de documentos que especifican los patrones que deben coincidir:

Patrón
Descripción

{ lsid: { id : <UUID> } }

Especifique la parte UUID del ID de sesión que desea eliminar.

{ uid: <BinData> }

Especifica el hash del propietario de las sesiones a eliminar.

{ users: [ { user: <user>, db: <dbname> }, ... ] }

Especifica los propietarios de las sesiones que se cerrarán. Requiere privilegios adicionales. Consulte Control de acceso.

{ roles: [ { role: <role>, db: <dbname> }, ... ] }

Especifica los roles asignados a los propietarios de las sesiones que se van a eliminar. Requiere privilegios adicionales. Consulte Control de acceso.

Especifique una matriz vacía para eliminar todas las sesiones. []1

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

Tip

[1](,1 2) La killAllSessionsByPattern operación ignora las sesiones con transacciones preparadas. Consulte Comportamiento para obtener más detalles.

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

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

Si la implementación exige autenticación/autorización, debe tener el privilegio de killAnySession killAllSessionsByPattern acción para ejecutar el comando.

Para los patrones que incluyen users o,roles también debe tener privilegios que otorguen impersonate la acción en el recurso del clúster.

Nota

Los usuarios pueden matar sus propias sesiones incluso sin la killAnySession acción del privilegio.

La siguiente operación mata todas las sesiones:

db.runCommand( { killAllSessionsByPattern: [ ] } )

La siguiente operación mata todas las sesiones que tienen el uid especificado y cuyo propietario tiene el rol especificado:

db.runCommand( { killAllSessionsByPattern: [
{ "uid" : BinData(0,"oBRA45vMY78p1tv6kChjQPTdYsnCHi/kA/fFMZTIV1o=") },
{ roles: [ { role: "readWrite", db: "test" } ] }
] } )

Volver

killAllSessions

En esta página