Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Administración

dropConnections (comando de base de datos)

dropConnections

El comando elimina dropConnections el mongod / mongos conexiones salientes de la instancia a los hosts especificados. El dropConnections debe ejecutarse contra la base de datos admin.

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.

El comando tiene la siguiente sintaxis:

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

El comando requiere el siguiente campo:

Campo
Tipo
Descripción

hostAndPort

arreglo

Cada elemento del arreglo representa el nombre de host y el puerto de una máquina remota.

comment

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.).

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 base de datos admin donde el arreglo privilege incluya el siguiente documento:

{ "resource" : { "cluster" : true } }, "actions" : [ "dropConnections" ] }
  • Utiliza db.createUser() para crear un usuario en la base de datos admin con el rol personalizado.

    or

  • Use db.grantRolesToUser() para otorgar el rol a un usuario existente en la base de datos admin.

Por ejemplo, la siguiente operación crea un rol definido por el usuario en la base de datos admin con los privilegios para soportar dropConnections:

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 ejecutar dropConnections.

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.

dropConnections ignora silenciosamente hostAndPort los elementos que no incluyen tanto el nombre de host como el puerto de la máquina remota.

Considera un set de réplicas con un nodo recientemente eliminado en oldhost.example.com:27017. Ejecutar el siguiente comando dropConnections contra cada miembro activo del set de réplicas garantiza que no queden conexiones salientes a oldhost.example.com:27017:

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

El comando devuelve una salida similar a la 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.

Volver

dropDatabase

En esta página