Definición
db.changeUserPassword(username, password)Actualiza la contraseña de un usuario. Ejecuta el método en la base de datos donde está definido el usuario, es decir, la base de datos que...
createdel usuario.Importante
Método mongosh
Esta página documenta un método
mongosh. Esta no es la documentación para los comandos de base de datos ni para los drivers específicos de lenguajes, como Nodo.js.Para el comando de base de datos, consulta el comando
updateUser.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
ParameterTipoDescripciónusernamestring
El nombre del usuario cuya contraseña quieres cambiar.
passwordstring
La contraseña del usuario. El valor puede ser:
la contraseña del usuario en string de texto sin formato, o
passwordPrompt()para solicitar la contraseña del usuario.
Tip
Puede usar el método junto con varios métodos o comandos de autenticación/gestión de usuarios para solicitar la contraseña en lugar de especificarla directamente en la llamada al método/comando. Sin embargo, puede especificarla directamente como lo hacía con versiones anteriores
passwordPrompt()delmongoshell.writeConcernDocumento
Opcional. El nivel de confirmación de escritura (write concern) de la operación. Consulte Especificación de nivel de confirmación de escritura (write concern).
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
Importante
Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.
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.
Acceso requerido
Para modificar la contraseña de otro usuario en una base de datos, debe tener la acción changePassword en esa base de datos.
Comportamiento
Advertencia
De forma predeterminada, db.changeUserPassword() envía todos los datos especificados a la instancia de MongoDB en texto sin cifrar, incluso si passwordPrompt() se usa. Utilice el cifrado de transporte TLS para proteger las comunicaciones entre los clientes y el servidor, incluida la contraseña enviada db.changeUserPassword() por. Para obtener instrucciones sobre cómo habilitar el cifrado de transporte TLS, consulte Configurar mongod y mongos para TLS/SSL.
MongoDB no almacena la contraseña en texto sin formato. La contraseña es vulnerable solo durante el tránsito entre el cliente y el servidor, y únicamente si el cifrado de transporte TLS no está activado.
Ejemplo
La siguiente operación cambia la contraseña del usuario llamado accountUser en la base de datos products a SOh3TbYhx8ypJPxmt1oOfL:
Tip
Puede usar el método junto con varios métodos o comandos de autenticación/gestión de usuarios para solicitar la contraseña en lugar de especificarla directamente en la llamada al método/comando. Sin embargo, puede especificarla directamente como lo hacía con versiones anteriores passwordPrompt() del mongo shell.
use products db.changeUserPassword("accountUser", passwordPrompt())
Cuando se pida en mongosh para la contraseña, se debe ingresar la nueva contraseña.
También puedes pasar la nueva contraseña directamente a db.changeUserPassword():
use products db.changeUserPassword("accountUser", "SOh3TbYhx8ypJPxmt1oOfL")