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
Puedes utilizar el método
passwordPrompt()junto con varios métodos/comandos de autenticación/gestión de usuarios para solicitar la contraseña en lugar de especificarla directamente en la llamada del método/comando. Sin embargo, todavía puedes especificar la contraseña directamente como lo harías con versiones anteriores del shell demongo.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 claro, incluso si se utiliza passwordPrompt(). Utiliza el cifrado de transporte TLS para proteger las comunicaciones entre los clientes y el servidor, incluida la contraseña enviada por db.changeUserPassword(). Para instrucciones sobre cómo habilitar el cifrado de transporte TLS, consulta 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
Puedes utilizar el método passwordPrompt() junto con varios métodos/comandos de autenticación/gestión de usuarios para solicitar la contraseña en lugar de especificarla directamente en la llamada del método/comando. Sin embargo, todavía puedes especificar la contraseña directamente como lo harías con versiones anteriores del shell de 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")