Definición
killAllSessionsByPatternEl comando finaliza todas las sesiones que coincidan con cualquiera de los patrones
killAllSessionsByPatternespecificados. []1
Sintaxis
El comando tiene la siguiente sintaxis:
db.runCommand( { killAllSessionsByPattern: [ <pattern>, ... ] } )
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 un arreglo de documentos que especifican los patrones a hacer coincidir:
Patrón | Descripción |
|---|---|
| Especifica la parte UUID del ID de sesión a finalizar. |
| Especifica el hash del propietario de las sesiones a eliminar. |
| Specifies the owners of the sessions to kill. Requires additional privileges. See Access Control. |
| Specifies the roles assigned to the owners of the sessions to kill. Requires additional privileges. See Access Control. |
Especifica un arreglo vacío para finalizar todas las sesiones. [1]
Para ver las sesiones existentes, consulta la operación $listSessions o $listLocalSessions.
| [1] | (,1 2) La killAllSessionsByPattern operación ignora las sesiones que tienen transacciones en estado preparado. Consulte Comportamiento para obtener más detalles. |
Comportamiento
Operaciones en curso
Eliminar una sesión termina cualquier operación en progreso en la sesión y cierra todos los cursores abiertos asociados con estas operaciones.
Disponibilidad de sesión matada
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.
Sesiones con transacciones en estado preparado
The killAllSessionsByPattern operation ignores sessions that have Transactions in prepared state. Transactions in prepared state refer to transactions with write operations that span multiple shards whose commit coordinator has completed the "sendingPrepare" action.
Control de acceso
If the deployment enforces authentication/authorization, you must have the killAnySession privilege action to run the killAllSessionsByPattern command.
Para patrones que incluyan users o roles, también debes tener privilegios que concedan la acción impersonate en el recurso del clúster.
Nota
Los usuarios pueden finalizar sus propias sesiones incluso sin la acción de privilegio killAnySession.
Ejemplos
Terminar todas las sesiones
La siguiente operación mata todas las sesiones:
db.runCommand( { killAllSessionsByPattern: [ ] } )
Eliminar todas las sesiones para usuarios específicos
La siguiente operación elimina 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" } ] } ] } )