1. 账户权限配置

创建超级管理用户

use admin 
db.createUser({ user:'admin', pwd:'123456', roles:[{role:'root',db:'admin'}] })

修改数据库配置文件

路径(依据实际路径):
C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg
配置:
security:
authorization: enabled

重启 mongodb 服务

windows + R

MongoDB 账户权限配置_前端

MongoDB 账户权限配置_数据库_02

用超级管理员账户连接数据库

mongo admin -u 用户名 -p 密码 
mongo 192.168.1.200:27017/test -u user -p password

给 xxx 数据库创建一个用户, 只能访问 xxx数据库, 不能访问其他数据库

use eggcms 
db.createUser( { user: "eggadmin", pwd: "123456", roles: [ { role: "dbOwner", db: "eggcms" } ] } )

2. 账户权限配置中常用的命令

查看当前库下的用户

show users;复制代码

删除用户

db.dropUser("eggadmin")复制代码

修改用户密码

db.updateUser( "admin",{pwd:"password"});复制代码

密码认证

db.auth("admin","password");复制代码

3. 数据库角色

数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、 dbAdminAnyDatabase
超级用户角色:root

4. 连接数据库的时候需要配置账户密码

const url = 'mongodb://admin:123456@localhost:27017/';复制代码

拓展:关于 MongoDB

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

MongoDB 账户权限配置_前端_03

特点:

  • MongoDB 是一个面向文档存储的数据库;
  • MongoDb 使用 update() 命令可以实现替换完成的文档(数据)或者一些指定的数据字段;
  • Mongodb 中的 Map/reduce 主要是用来对数据进行批量处理和聚合操作;
  • Map 函数调用 emit(key,value) 遍历集合中所有的记录,将 key 与 value 传给 Reduce 函数进行处理;
  • 可以通过 db.runCommand 或 mapreduce 命令来执行 MapReduce 操作;