MongoDB安全访问
MongoDB安全访问跟SQL很像,都是靠给不同的用户权限。
创建用户和权限
管理用户:
use admin; db.createUser({ user :'root', pwd : '123456', roles : [ { role:'userAdminAnyDatabase', //任何数据库的用户管理权限 db:'admin' }, { role:'readWriteAnyDatabase', //任何数据库的读写权限 db:'admin' } ] });普通用户
use skdb; db.createUser({ user:'mysk', pwd:'123456', roles:[ { role:'dbAdmin', //某数据库的管理权限 db:'skdb' }, { role:'readWrite', //某数据库的读写权限 db:'skdb' } ] })
开启安全配置
vi /etc/mongo.conf开启:
security:
  authorization: enabled重启MongoDB
安全访问(客户端、程序)程序
    <!--配置mongodb信息-->
    <mongo:mongo-client id="mongo" host="10.211.55.7" port="27017" credentials="用户名:密码@数据库"/>
    <mongo:db-factory id="mongoDbFactory"
                      dbname="skdb"
                      mongo-ref="mongo"/>MongoDB基本命令
show dbs;//显示所有数据库use db;//db为数据库名,用于切换或创建数据库show tables;//显示当前数据库所有表db.dropDatabase();//删库MongoDB基本查询操作
insertOne()语法db.collection.insertOne( <document>, { writeConcern: <document> } )案例
db.students.insertOne( { stuname:'小明', stuage:18, stusex:'男' } )insertMany()语法db.collection.insertMany( [ <document 1> , <document 2>, ... ], { writeConcern: <document>, ordered: <boolean> } )案例:
db.students.insertMany( [ { stuname:'小赵', stuage:23, stusex:'男' }, { stuname:'小王', stuage:22, stusex:'女' }, { stuname:'小黑', stuage:25, stusex:'男' } ] )必须要加中括号,因为传入的数据要是一个文档list(就算插入一个也要用list[]框起来)
insert()
可以插入一条,也可以插入多条db.students.insertMany( [ { stuname:'小赵', stuage:23, stusex:'男' }, { stuname:'小王', stuage:22, stusex:'女' }, { stuname:'小黑', stuage:25, stusex:'男' } ] )
技术选型
- 在使用脚本处理时,优先使用
insert() - 在编程代码时,使用
insertOne()或insertMany() 
插入时间类型(三种方式)
new Date()方式db.students.insert([ { stuname:'小赵', stuage:23, stusex:'男' addtime:new Date() } ])时间是格林尼治时间,北京时间上午11点插入,数据显示凌晨3点。
ISODate()db.students.insert([ { stuname:'小吕', stuage:29, stusex:'男', addtime:ISODate('2020-03-10T03:20:20Z') } ])$currentDate(一个修改器)db.students.update( {stuname:'小托'}, { $set: { stuage:23 }, $currentDate:{addtime:true} })new Date()是客户端当前时间,而$currentDate()获取的是服务器端时间
技术选型:
- 当插入客户端时间时,用
new Date() - 当插入服务器端时,用
$currentDate() - 当插入固定时间时,用
ISODate() 


Comments | NOTHING