MongoDB是一种流行的非关系型数据库,它提供了灵活的数据模型和高性能的查询能力。MongoDB中的用户可以用来控制对数据库和集合的访问,以及执行各种操作。本文将介绍如何在MongoDB中查看和管理用户,以及用户角色和权限的概念。
查看用户
要查看MongoDB中的用户,我们需要使用db.getUsers()方法,它返回一个包含当前数据库中所有用户的文档数组。例如,如果我们想查看test数据库中的用户,我们可以执行以下命令:
输出结果类似于:
每个用户文档包含以下字段:
1._id:用户的唯一标识符,由数据库名和用户名组成。
2.userId:用户的UUID,用于内部识别。
3.user:用户名。
4.db:用户所属的数据库。
5.roles:用户拥有的角色数组,每个角色包含一个角色名和一个数据库名。
6.mechanisms:用户支持的认证机制数组。
管理用户
要管理MongoDB中的用户,我们需要使用以下方法:
1.db.createUser():创建一个新用户。
2.db.updateUser():更新一个现有用户的信息,如密码或角色。
3.db.dropUser():删除一个现有用户。
4.db.dropAllUsers():删除当前数据库中的所有用户。
例如,如果我们想在test数据库中创建一个名为user2的新用户,赋予其读写权限,并设置密码为123456,我们可以执行以下命令:
输出结果类似于:
如果我们想修改user2的密码为654321,并增加其对admin数据库的读权限,我们可以执行以下命令:
输出结果类似于:
如果我们想删除user2这个用户,我们可以执行以下命令:
输出结果类似于:
如果我们想删除test数据库中的所有用户,我们可以执行以下命令:
输出结果类似于:
用户角色和权限
MongoDB中的用户角色是一组权限的集合,用于控制用户可以对数据库和集合执行哪些操作。MongoDB提供了一些内置的角色,也允许自定义角色。以下是一些常用的内置角色:
1.read:允许用户读取当前数据库中的所有非系统集合和视图。
2.readWrite:允许用户读写当前数据库中的所有非系统集合和视图。
3.dbAdmin:允许用户执行管理任务,如索引创建、统计查看、复制集监控等。