Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Eliminar conexões

Nesta página

  • Definição
  • Sintaxe
  • Campos de comando
  • Controle de acesso
  • Comportamento
  • Exemplo
dropConnections

O comando dropConnections descarta as conexões de saída da instância mongod / mongos para os hosts especificados. O dropConnections deve ser executado no banco de dados admin .

O comando tem a seguinte sintaxe:

db.adminCommand(
{
dropConnections: 1,
hostAndPort : [ "host1:port1", "host2:port2", ... ],
comment: <any>
}
)

O comando exige o seguinte campo:

Campo
Tipo
Descrição
hostAndPort
array
Cada elemento de array representa o nome do host e a porta de uma máquina remota.
comment
qualquer

Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais:

Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc).

Se a implantação impuser autenticação/autorização, o comando dropConnections exigirá a ação dropConnections no recurso de cluster .

Crie um role definido pelo usuário no reconhecimento de data center admin onde a array privilege inclui o seguinte documento:

{ "resource" : { "cluster" : true } }, "actions" : [ "dropConnections" ] }
  • Utilize o db.createUser() para criar um usuário no banco de dados do admin com o papel personalizado.

    ou

  • Utilize db.grantRolesToUser() para conceder o role a um usuário existente no reconhecimento de data center admin .

Por exemplo, a seguinte operação cria um papel definido pelo usuário no banco de dados do admin com os privilégios para suportar dropConnections:

db.getSiblingDB("admin").createRole(
{
"role" : "dropConnectionsRole",
"privileges" : [
{
"resource" : { "cluster" : true },
"actions" : [ "dropConnections" ]
}
],
"roles" : []
}
)

Atribuir a função personalizada a um usuário no reconhecimento de data center do admin :

db.getSiblingDB("admin").createUser(
{
"user" : "dropConnectionsUser",
"pwd" : "replaceThisWithASecurePassword",
"roles" : [ "dropConnectionsRole" ]
}
)

O usuário criado pode executar dropConnections.

Para obter mais exemplos de criação de usuário, consulte Criar um usuário . Para obter um tutorial sobre como adicionar privilégios a um usuário existente do banco de dados, consulte Modificar o acesso para um usuário existente.

dropConnections ignora silenciosamente elementos hostAndPort que não incluem o nome do host e a porta da máquina remota.

Considere um conjunto de réplicas com um membro removido recentemente em oldhost.example.com:27017. A execução do seguinte comando dropConnections em cada membro do conjunto de réplicas ativas garante que não haja conexões de saída restantes para oldhost.example.com:27017:

db.adminCommand(
{
"dropConnections" : 1,
"hostAndPort" : [
"oldhost.example.com:27017"
]
}
)

O comando gera uma saída semelhante ao seguinte:

{
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1551375968, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1551375968, 1)
}

Você pode confirmar o status do pool de conexões para mongod ou mongos usando o comando connPoolStats .

← banco de dados suspenso