Definición
killAllSessionsByPatternEl
killAllSessionsByPatternEl comando elimina todas las sesiones que coincidan con alguno de los patrones especificados. []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 una matriz de documentos que especifican los patrones que deben coincidir:
Patrón | Descripción |
|---|---|
| Especifique la parte UUID del ID de sesión que desea eliminar. |
| Especifica el hash del propietario de las sesiones a eliminar. |
| Especifica los propietarios de las sesiones que se cerrarán. Requiere privilegios adicionales. Consulte Control de acceso. |
| 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.
| [1] | (,1 2) La killAllSessionsByPattern operación ignora las sesiones con transacciones preparadas. Consulte Comportamiento para obtener más detalles. |
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 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.
Control de acceso
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.
Ejemplos
Matar todas las sesiones
La siguiente operación mata todas las sesiones:
db.runCommand( { killAllSessionsByPattern: [ ] } )
Eliminar todas las sesiones de usuarios específicos
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" } ] } ] } )