Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

killAllSessionsByPattern (comando de banco de dados)

killAllSessionsByPattern

The killAllSessionsByPattern command kills all sessions that match any of the specified patterns. [1]

O comando tem a seguinte sintaxe:

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

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Importante

This command is not supported in M0 and Flex clusters. For more information, see Unsupported Commands.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

O comando usa um array de documentos que especificam os padrões a serem correspondidos:

Padrão
Descrição

{ lsid: { id : <UUID> } }

Especifique a parte UUID do ID da sessão a ser eliminada.

{ uid: <BinData> }

Especifica o hash do proprietário das sessões a serem eliminadas.

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

Specifies the owners of the sessions to kill. Requires additional privileges. See Access Control.

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

Specifies the roles assigned to the owners of the sessions to kill. Requires additional privileges. See Access Control.

Specify an empty array to kill all sessions. [1]

Para visualizar sessões existentes, consulte operação $listSessions ou $listLocalSessions.

[1](1, 2) The killAllSessionsByPattern operation ignores sessions that have transactions in prepared state. See Behavior for details.

A eliminação de uma sessão elimina as operações em andamento na sessão e fecha os cursores abertos associados a essas operações.

A sessão eliminada ainda pode estar listada como uma sessão atual e operações futuras podem usar a sessão eliminada. Para visualizar sessões existentes, consulte operação $listSessions ou $listLocalSessions .

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.

If the deployment enforces authentication/authorization, you must have the killAnySession privilege action to run the killAllSessionsByPattern command.

Para padrões que incluem users ou roles, você também deve ter privilégios que concedam a ação impersonate no recurso de cluster.

Observação

Os usuários podem finalizar suas próprias sessões mesmo sem a ação de privilégio do killAnySession .

A operação a seguir finaliza todas as sessões:

db.runCommand( { killAllSessionsByPattern: [ ] } )

A operação a seguir finaliza todas as sessões que têm o uid especificado e cujo proprietário tem o role especificado:

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