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 una
mongoshMétodo. Esta no es la documentación para comandos de base de datos ni para controladores específicos del lenguaje, como 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
Por defecto, db.changeUserPassword() envía todos los datos especificados a la instancia de MongoDB en texto sin formato, incluso si utiliza passwordPrompt(). Utilice el cifrado de transporte TLS para proteger las comunicaciones entre los clientes y el servidor, incluida la contraseña enviada por db.changeUserPassword(). Para obtener instrucciones sobre cómo habilitar el cifrado de transporte TLS, consulte Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas.
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())
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")