Definición
dropConnectionsEl comando elimina
dropConnectionsel Conexiones salientes de la instanciamongod/mongosa los hosts especificados. EldropConnectionsdebe ejecutarse en la base de datosadmin.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
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.
Sintaxis
El comando tiene la siguiente sintaxis:
db.adminCommand( { dropConnections: 1, hostAndPort : [ "host1:port1", "host2:port2", ... ], comment: <any> } )
Campos de comandos
El comando requiere el siguiente campo:
Campo | Tipo | Descripción |
|---|---|---|
| arreglo | Cada elemento de la matriz representa el nombre de host y el puerto de una máquina remota. |
| any | Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:
Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.). |
Control de acceso
Si la implementación exige autenticación/autorización, el comando dropConnections requiere la acción dropConnections en el recurso del clúster.
Cree un rol definido por el usuario en la admin base de datos donde la privilege matriz incluya el siguiente documento:
{ "resource" : { "cluster" : true } }, "actions" : [ "dropConnections" ] }
Utilice para crear un usuario en
db.createUser()laadminbase de datos con el rol personalizado.or
Utilice para otorgar el rol a un usuario existente en
db.grantRolesToUser()laadminbase de datos.
Por ejemplo, la siguiente operación crea un rol definido por el usuario en la admin base de datos con los privilegios para dropConnections admitir:
db.getSiblingDB("admin").createRole( { "role" : "dropConnectionsRole", "privileges" : [ { "resource" : { "cluster" : true }, "actions" : [ "dropConnections" ] } ], "roles" : [] } )
Asignar el rol personalizado a un usuario en la base de datos admin:
db.getSiblingDB("admin").createUser( { "user" : "dropConnectionsUser", "pwd" : "replaceThisWithASecurePassword", "roles" : [ "dropConnectionsRole" ] } )
El usuario creado puede dropConnections ejecutar.
Para ver más ejemplos de creación de usuarios, consulta Crear un usuario en implementaciones autogestionadas. Para ver un tutorial sobre cómo agregar privilegios a un usuario de base de datos existente, consulta Modificar el acceso para un usuario existente.
Comportamiento
dropConnections ignora silenciosamente hostAndPort los elementos que no incluyen tanto el nombre de host como el puerto de la máquina remota.
Ejemplo
Considere un conjunto de réplicas con un miembro recientemente eliminado oldhost.example.com:27017 en. Al ejecutar el siguiente dropConnections comando en cada miembro activo del conjunto de réplicas, se garantiza que no queden conexiones salientes oldhost.example.com:27017 a:
db.adminCommand( { "dropConnections" : 1, "hostAndPort" : [ "oldhost.example.com:27017" ] } )
El comando devuelve un resultado similar al siguiente:
{ "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1551375968, 1), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : Long(0) } }, "operationTime" : Timestamp(1551375968, 1) }
Puede confirmar el estado del grupo de conexiones para mongod o mongos utilizando el connPoolStats comando.