mongodb 如何在mongo shell中列出所有用户?

bq9c1y66  于 2023-01-25  发布在  Go
关注(0)|答案(4)|浏览(202)

在MongoDBshell中,如何列出我正在使用的当前数据库的所有用户?
我在stackoverflow上找不到。

ahy6op9u

ahy6op9u1#

您可以:

db.getUsers()

show users

这两个命令都打印当前数据库的用户列表,请参阅MongoDB文档中的User Management

lc8prwob

lc8prwob2#

列表属于数据库用户:

use db_namedb.getUsers()show users

按认证类型列出:

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

列出凭据:

db.getUsers( {showCredentials: true,  filter: { mechanisms: "SCRAM-SHA-256" }} )
de90aj5v

de90aj5v3#

如果您只想列出用户名而留下所有其他批量信息,请尝试

db.system.users.find({}, {"_id" : 1})
chy5wohz

chy5wohz4#

以下命令可用于获取选定数据库上的用户列表。

通过在选定的数据库上使用find

use admin;
db.system.users.find({}, {"user": 1, "db": 1, "roles": 1});

获取所有数据库上的所有用户

db.getUsers();

or 

show users;

在这里,您只能获得response JSON中user、db和roles节点。

相关问题