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

db.getUsers()

在此页面上

  • 定义
  • 兼容性
  • 必需的访问权限
  • 示例
db.getUsers(<options>)

返回数据库中所有用户的信息。

db.getUsers() 封装了 usersInfo: 1 命令。

db.getUsers() 方法可使用以下选项:

db.getUsers( {
showCredentials: <Boolean>,
showCustomData: <Boolean>,
filter: <document>
} )
字段
类型
说明
showCredentials
布尔

可选。设置为 true,显示用户的密码哈希值。

默认情况下,此字段为 false

showCustomData
布尔

可选。设置为 false 将省略输出中用户的 customData

默认情况下,此字段为 true

5.2 版本中的新增功能

filter
文档
可选。指定 $match 阶段条件的文档,用于为符合过滤条件的用户返回信息。

有关更多信息,请参阅 usersInfo

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

重要

  • MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本

  • MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本

要查看其他用户的信息,必须对其他用户的数据库执行 viewUser 操作

用户可查看自己的信息。

db.getUsers() 方法可以接受一个 filter 文档,以返回符合过滤条件的用户信息。

要查看当前数据库中拥有 SCRAM-SHA-256 档案的所有用户:

db.getUsers({ filter: { mechanisms: "SCRAM-SHA-256" } })

查看所有用户时,可以指定 showCredentials 选项,但不能指定 showPrivilegesshowAuthenticationRestrictions 选项。

版本 5.2 中的新增功能:要省略 db.getUsers()输出中用户的自定义数据,请将 showCustomData 选项设置为 false

使用 createUser 命令在 products 数据库上创建名为 accountAdmin01 的用户:

db.getSiblingDB("products").runCommand( {
createUser: "accountAdmin01",
pwd: passwordPrompt(),
customData: { employeeId: 12345 },
roles: [ { role: 'readWrite', db: 'products' } ]
} )

用户包含一个 customData 字段 { employeeId: 12345 }

要检索用户但从输出中省略自定义数据,请运行 db.getUsers() 并将 showCustomData 设置为 false

db.getSiblingDB("products").getUsers( { showCustomData: false } )

示例输出:

{
users: [
{
_id: 'products.accountAdmin01',
userId: UUID("0955afc1-303c-4683-a029-8e17dd5501f4"),
user: 'accountAdmin01',
db: 'products',
roles: [ { role: 'readWrite', db: 'products' } ],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}
],
ok: 1
}

后退

db.getUser