Definição
- dropConnections
- O comando - dropConnectionsdescarta as conexões de saída da instância- mongod/- mongospara os hosts especificados. O- dropConnectionsdeve ser executado no banco de banco de dados- admin.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
- 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 
Sintaxe
O comando tem a seguinte sintaxe:
db.adminCommand(    {      dropConnections: 1,      hostAndPort : [ "host1:port1", "host2:port2", ... ],      comment: <any>    } ) 
Campos de comando
O comando exige o seguinte campo:
| Campo | Tipo | Descrição | 
|---|---|---|
| 
 | array | Cada elemento de array representa o nome do host e a porta de uma máquina remota. | 
| 
 | any | 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). | 
Controle de acesso
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- admincom 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 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 em sistemas autogerenciados. Para obter um tutorial sobre como adicionar privilégios a um usuário de banco de dados de dados, consulte Modificar acesso para um usuário existente.
Comportamento
dropConnections ignora silenciosamente elementos hostAndPort que não incluem o nome do host e a porta da máquina remota.
Exemplo
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" : Long(0)    }  },  "operationTime" : Timestamp(1551375968, 1) } 
Você pode confirmar o status do pool de conexões para mongod ou mongos usando o comando connPoolStats .