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 donde el usuario pasó a estar
created.Importante
Método mongosh
This page documents a
mongoshmethod. This is not the documentation for database commands or language-specific drivers, such as Node.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.Puedes usar el método
passwordPrompt()en conjunto con varios métodos y comandos de gestión de autenticación de usuarios para solicitar la contraseña en lugar de especificar la contraseña directamente en la llamada al método o comando. Sin embargo, aún puedes especificar la contraseña directamente como lo harías con las versiones anteriores del shellmongo.
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
By default, db.changeUserPassword() sends all specified data to the MongoDB instance in cleartext, even if using passwordPrompt(). Use TLS transport encryption to protect communications between clients and the server, including the password sent by db.changeUserPassword(). For instructions on enabling TLS transport encryption, see Configure MongoDB Instances for TLS/SSL Encryption.
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
Puedes usar el método passwordPrompt() en conjunto con varios métodos y comandos de gestión de autenticación de usuarios para solicitar la contraseña en lugar de especificar la contraseña directamente en la llamada al método o comando. Sin embargo, aún puedes especificar la contraseña directamente como lo harías con las versiones anteriores del shell mongo.
use products db.changeUserPassword("accountUser", passwordPrompt())
When prompted in mongosh for the password, enter the new password.
You can also pass the new password directly to db.changeUserPassword():
use products db.changeUserPassword("accountUser", "SOh3TbYhx8ypJPxmt1oOfL")