🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
14.mongodb mongodb是一种基于文档的数据库,库表都会自动创建,不用提前创建,一张表称为一个集合(collections),一条记录称为一篇文档(json格式),每篇文档默认都有一个_id列,CURD操作:insert、remove、update、find ## 常用命令 ```bash show dbs; use mydb; show collections; db.col.insert([{'name':'lilei','age':19},{'name':'liming','age':19}]) db.remove({'age':29});//删除所有=29 db.remove({'age':19,true});//删除一行 db.col.update({"name":"lilei"},{$set : {"age":22}},{'multi':true}) //multi:true全部修改 db.col.update({"name":"lilei"},{$inc : {"age":2}}) db.col.update({"name":"lilei"},{$rename : {"name":'username'}}) db.col.find(); db.col.findOne(); cursor = find().limit(3); cursor.forEach(function(obj){ print(obj.name + ' age is : ' + obj.age); }) ``` ## 用户权限 目前所用版本:mongodb 4.0.5 默认是不需要权限认证的,也不存在任何账户 1.启动服务端 mongod --dbpath=D:\\MongoDB\\data\\db 2.启用客户端,添加用户 ``` #启动客户端 mongo #创建超级管理员账户 use admin db.createUser(user:'root',pwd:'root',roles:[{'role':'userAdminAnyDatabase','db':'admin'}]}) #给local数据库创建账户 use local db.createUser(user:'test',pwd:'test888',roles:[{'role':'readWrite','db':'local'}]}) #Ctrl+C 退出 ``` 3.重启服务端(注意多了参数--auth) mongod --dbpath=D:\\MongoDB\\data\\db --auth 4.客户端重新连接 ``` mongo use local #切换到local数据库 db.auth('test','test888') #用户认证 #认证通过,愉快的去操作 ``` 5.如果你想看其他数据库信息,则需要退出切换到admin数据库,用root账户认证 ``` show dbs; //报错,没有权限 db.auth('root','root') //继续报错,认证失败 use admin db.auth('root','root') //认证通过,返回1 ``` 说明:一个连接,只允许一个认证,不允许一会儿切换到root,一会儿切换到test。若要切换用户,必须断开重新连接,或重启一个cmd窗口