如何查询在 $external 数据库中创建的用户
How can I query users created in $external database
我正在尝试配置基于证书的 mongo 身份验证,通常它工作正常,但有一个问题我找不到答案。假设我在 $external 数据库中创建了一个用户:
use $external
db.createUser({user: "emailAddress=jsmith@example.com,CN=jsmith,OU=Mongo Admins,O=Initech,C=US",
roles: [{"role" : "root","db" : "admin"}]
})
问:如何查询$external数据库的内容,尤其是用户数据?
有没有类似的方法:
use admin
db.system.users.find()
“$external”数据库不是真正的数据库,它不包含任何数据。所有数据库的所有用户和角色数据都存储在 admin.system.users
或 admin.system.roles
.
中
首选解决方案是使用 getUsers command。
在 shell 中,您将发出以下语句:
use $external
db.getUsers()
如果你有合适的权限,你也可以查询admin.system.users
来找到任何数据库的用户,如下:
use admin
db.system.users.find({db: "$external"})
我正在尝试配置基于证书的 mongo 身份验证,通常它工作正常,但有一个问题我找不到答案。假设我在 $external 数据库中创建了一个用户:
use $external
db.createUser({user: "emailAddress=jsmith@example.com,CN=jsmith,OU=Mongo Admins,O=Initech,C=US",
roles: [{"role" : "root","db" : "admin"}]
})
问:如何查询$external数据库的内容,尤其是用户数据?
有没有类似的方法:
use admin
db.system.users.find()
“$external”数据库不是真正的数据库,它不包含任何数据。所有数据库的所有用户和角色数据都存储在 admin.system.users
或 admin.system.roles
.
首选解决方案是使用 getUsers command。
在 shell 中,您将发出以下语句:
use $external
db.getUsers()
如果你有合适的权限,你也可以查询admin.system.users
来找到任何数据库的用户,如下:
use admin
db.system.users.find({db: "$external"})