MongoDB - 用户管理命令

MongoDB - 用户管理命令 首页 / MongoDB入门教程 / MongoDB - 用户管理命令

MongoDB用户管理命令包含与用户相关的命令。无涯教程可以使用以下用户管理命令创建,删除和更新用户。

MongoDB CreateUser命令

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命令

MongoDB DropUser命令从无涯教程正在运行该命令的数据库中删除用户。

语法:

{
  dropUser: "<user>",
  writeConcern: { <write concern> }
}

DropUser命令字段:

字段类型描述
dropUser字符串字段包含要删除的用户的名称。
writeConcern文档此字段包含用于删除操作的写入界限。

示例:

use products
db.runCommand( {
   dropUser: " admin@learnfk ",
   writeConcern: { w: "majority", wtimeout: 5000 }
} )

mongodb updateUser命令

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" } ]
} )

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Nginx核心知识150讲 -〔陶辉〕

Java并发编程实战 -〔王宝令〕

研发效率破局之道 -〔葛俊〕

DDD实战课 -〔欧创新〕

设计模式之美 -〔王争〕

现代C++编程实战 -〔吴咏炜〕

业务开发算法50讲 -〔黄清昊〕

李智慧 · 高并发架构实战课 -〔李智慧〕

零基础学Python(2023版) -〔尹会生〕

好记忆不如烂笔头。留下您的足迹吧 :)