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