如何创建用户并添加角色 MongoDB

MongoDB 创建管理员用户

在中创建用户管理员 MongoDB 通过使用 createUser 方法完成。以下示例显示了如何完成此操作。

db.createUser(
{	user: "Guru99",
	pwd: "password",

	roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})

MongoDB 创建管理员用户

代码说明:

  1. 第一步是指定需要创建的“用户名”和“密码”。
  2. 第二步是为用户分配角色。由于用户需要是数据库管理员,因此我们已将其分配给“userAdminAnyDatabase”角色。此角色允许用户拥有所有数据库的管理权限 MongoDB.
  3. db 参数指定 admin 数据库,它是 MongoDB 其中包含了该用户的信息。

如果命令执行成功,将显示以下输出:

输出:

MongoDB 创建管理员用户

输出显示已创建一个名为“Guru99”的用户,并且该用户对所有数据库具有权限 MongoDB.

MongoDB 为单个数据库创建用户

要创建一个管理单个数据库的用户,我们可以使用与上面相同的命令,但我们只需要使用“userAdmin”选项。

下面的例子显示了如何做到这一点;

MongoDB 为单个数据库创建用户

db.createUser(
{
	user: "Employeeadmin",

	pwd: "password",

	roles:[{role: "userAdmin" , db:"Employee"}]})

代码说明:

  1. 第一步是指定需要创建的“用户名”和“密码”。
  2. 第二步是为用户分配一个角色,在本例中,由于该用户需要成为数据库管理员,因此被分配了“userAdmin”角色。此角色允许用户仅对 db 选项中指定的数据库具有管理权限。
  3. db 参数指定用户应具有管理权限的数据库。

如果命令执行成功,将显示以下输出:

输出:

MongoDB 为单个数据库创建用户

输出显示创建了一个名为“Employeeadmin”的用户,并且该用户仅对“Employee”数据库具有权限。

管理用户

首先了解您需要定义的角色。 MongoDB。例如,有“读取角色”,它只允许对数据库进行只读访问,还有“读写”角色,它提供对数据库的读写访问权限,这意味着用户可以对该数据库中的集合发出插入、删除和更新命令。

管理用户

db.createUser(
{
	user: "Mohan",

	pwd: "password",

	roles:[
	{
		role: "read" , db:"Marketing"},
    {
		role: "readWrite" , db:"Sales"}
	}
		  ]
})

上面的代码片段显示创建了一个名为 Mohan 的用户,并在多个数据库中为其分配了多个角色。在上面的示例中,他被授予了“Marketing”数据库的只读权限和“Sales”数据库的读写权限。