MongoDB用户管理命令包含与用户相关的命令。无涯教程可以使用以下用户管理命令创建,删除和更新用户。
MongoDB CreateUser命令从无涯教程运行命令的位置为数据库创建一个新用户。如果用户已存在,它将返回重复的用户错误。
语法:
{ createUser: "<user_name>", pwd: "<cleartext password>" customData: { <any info.> }, roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ], writeConcern: { <write concern> }, authenticationRestrictions: [ { clientSource: [ "<IP|CIDR range>", ... ], serverAddress: [ "<IP|CIDR range>", ... ] }, ... ], mechanisms: [ "<scram-mechanism>", ...], digestPassword: <boolean> }
CreateUser命令具有以下字段:
字段 | 类型 | 描述 |
---|---|---|
createUser | 字符串 | 此字段包含新用户的名称。 |
pwd | 字符串 | 此字段包含用户的密码。该值可以是ClearText字符串或passwordprompt()中的用户的密码,以提示用户的密码。 |
customdata | 文档 | 此字段包含管理员希望与特定用户关联的数据。 |
roles | 数组 | 字段给用户授予任何角色。 |
digestpassword | boolean | digestpassword表示它是摘要密码的服务器或客户端。 |
writeConcern | 文档 | 此字段包含创建操作的写入问题。 |
authentication Restrictions | 数组 | 它强制执行创建用户的身份验证规则。它提供了允许用户连接的IP地址列表和CIDR范围。 |
mechanism | 数组 | 此字段指定剪辑机制。有效的扰流值是Scram-Sha-1和Scram-SHA-256。 |
示例:
db.getSiblingDB("student").runCommand( { createUser: "admin@learnfk", pwd: passwordPrompt(), customData: { empId: 101 }, roles: [ { role: "clusterAdmin", db: "admin" }, { role: "readAnyDatabase", db: "admin" }, "readWrite" ], writeConcern: { w: "majority" , wtimeout: 5000 } } )
上面的示例在学生数据库上创建用户admin@learnfk。该命令将admin@learnfk在admin数据库上的clusteradmin和ReadanyDatabase角色和学生数据库中的ReadWrite角色。
链接:https://www.learnfk.comhttps://www.learnfk.com/mongodb/mongodb-user-management-commands.html
来源:LearnFk无涯教程网
MongoDB DropUser命令从无涯教程正在运行该命令的数据库中删除用户。
语法:
{ dropUser: "<user>", writeConcern: { <write concern> } }
DropUser命令字段:
字段 | 类型 | 描述 |
---|---|---|
dropUser | 字符串 | 字段包含要删除的用户的名称。 |
writeConcern | 文档 | 此字段包含用于删除操作的写入界限。 |
示例:
use products db.runCommand( { dropUser: " admin@learnfk ", writeConcern: { w: "majority", wtimeout: 5000 } } )
MongoDB updateUser命令命令将用户更新在运行命令的数据库中的用户详细信息。当无涯教程使用该命令时,它将完全替换前一个字段的值,包括分配的角色以及AuthenticationRestrics数组。
语法:
{ updateUser: "<user_name>", pwd: "<cleartext password>" customData: { <any information> }, roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ], authenticationRestrictions: [ { clientSource: ["<IP>" | "<CIDR range>", ...], serverAddress: ["<IP>", | "<CIDR range>", ...] }, ... ], mechanisms: [ "<scram-mechanism>", ... ], digestPassword: <boolean>, writeConcern: { <write concern> } }
字段 | 类型 | 描述 |
---|---|---|
UpdateUser | 字符串 | 它包含无涯教程需要更新的用户的名称。 |
pwd | 字符串 | 它包含用户的密码,或者您可以使用密码提示来提示密码。 |
customdata | 文档 | 此字段包含管理员希望在特定用户中更新的数据。 |
role | 数组 | 此字段给用户授予一个角色。 |
digestpassword | boolean | 表示,如果服务器或客户端将摘要密码。 |
writeConcern | 文档 | 此字段包含创建操作的写入问题。 |
authentication Restrictions | 数组 | 它强制为创建的用户执行身份验证规则。它提供了IP地址列表和CIDR范围从中允许用户连接。 |
mechanism | 数组 | 此字段指定剪辑机制。有效的扰流值是Scram-Sha-1和Scram-SHA-256。 |
示例:
{ "_id" : "products.appClient01", "userId" : UUID("c5d88855-3f1e-46cb-9c8b-269bef957986"),//Starting in MongoDB 4.0.9 "user" : "appClient01", "db" : "products", "customData" : { "empID" : "12345", "badge" : "9156" }, "roles" : [ { "role" : "readWrite", "db" : "products" }, { "role" : "read", "db" : "inventory" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
以下更新用户命令完全替换用户的CustomData和角色数据:
use products db.runCommand( { updateUser : "appClient01", customData : { employeeId : "0x3039" }, roles : [ { role : "read", db : "assets" } ] } )
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)