Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

db.changeUserPassword()

在此页面上

  • 定义
  • 兼容性
  • 必需的访问权限
  • 行为
  • 例子
db.changeUserPassword(username, password)

更新用户密码。 在定义用户的数据库中运行该方法,即您 created用户的数据库。

重要

mongosh 方法

本页面提供 mongosh 方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。

有关数据库命令,请参阅 updateUser 命令。

如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

Parameter
类型
说明

username

字符串

希望更改其密码的用户的名称。

password

字符串

用户的密码。该值可为以下任一项:

  • 以明文字符串表示的用户密码,或

  • passwordPrompt() 提示输入用户密码。

提示

您可以将 passwordPrompt() 方法与各种用户身份验证/管理方法/命令结合使用,以提示输入密码,而不是直接在方法/命令调用中指定密码。不过,您仍然可以像使用早期版本的 mongo shell 一样直接指定密码。

writeConcern

文档

可选。操作的写关注级别。请参阅写关注规范

此方法可用于以下环境中托管的部署:

要修改数据库其他用户的密码,必须对该数据库执行 changePassword 操作

警告

默认情况下,db.changeUserPassword() 以明文形式将所有指定数据发送到 MongoDB 实例,即使使用 passwordPrompt() 也是如此。使用 TLS 传输加密来保护客户端和服务器之间的通信,包括 db.changeUserPassword() 发送的密码。有关启用 TLS 传输加密的操作说明,请参阅为 TLS/SSL 配置 mongodmongos

MongoDB 不以明文形式存储密码。仅当未启用 TLS 传输加密时,密码才会在客户端与服务器之间的传输过程中容易受到攻击。

以下操作将 products 数据库中名为 accountUser 的用户的密码更改为 SOh3TbYhx8ypJPxmt1oOfL

提示

您可以将 passwordPrompt() 方法与各种用户身份验证/管理方法/命令结合使用,以提示输入密码,而不是直接在方法/命令调用中指定密码。不过,您仍然可以像使用早期版本的 mongo shell 一样直接指定密码。

use products
db.changeUserPassword("accountUser", passwordPrompt())

mongosh 提示输入密码时,输入新密码。

您也可以将新密码直接传递给db.changeUserPassword()

use products
db.changeUserPassword("accountUser", "SOh3TbYhx8ypJPxmt1oOfL")

后退

db.auth