MongoDB基本操作

1.  MongoDB用户权限列表,分为管理员和普通用户

read

允许用户读取指定数据库

readWrite

允许用户读写指定数据库

dbAdmin

允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin

允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户

clusterAdmin

只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限

readAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限

root

只在admin数据库中可用。超级账号,超级权限

 

2.  创建管理员,

管理员通常没有数据库的读写权限,只有操作用户的权限, 因此我们只需要赋予管理员userAdminAnyDatabase角色即可

另外管理员账户必须在admin数据库下创建,注:use命令在切换数据库时,如果切换到一个不存在的数据库,MongodDB会自动创建该数据库。

db.createUser({user:'bjsxt',pwd:'bjsxtpwd',roles:[{role:'userAdminAnyDatabase',db:'admin'}]})

更新管理员角色

db.updateUser("bjsxt",{roles : [{"role" : "userAdminAnyDatabase","db" : "admin"},{"role" : "dbAdminAnyDatabase","db" : "admin"}]})

删除用户

db.dropUser('itsxt')

修改mongodb.conf配置文件,在文件中添加auth=true,开启权限认证。

 

3.  认证

db.auth('bjsxt','bjsxtpwd')

 

4.  创建普通用户并指定可用的权限

use sxt
db.createUser({user:'itsxt',pwd:'itsxtpwd',roles:[{role:'readWrite',db:'sxt'}]})

 

5.  创建集合

db.createCollection('dev')

删除集合

db.dev.drop()

 

6.  插入文档

db.dev.insert({title:'北京尚学堂',description:'程序员的摇篮',url:'www.bjsxt.com',tags:['java','大数据','python']})

覆盖更新文档

db.集合名称.update(
    <query>,
    <update>,
    < upsert:boolean>,
    < multi:boolean>
)

参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符等,也可以理解为sql update查询内set后面的。
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入这个document,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

表达式更新

db.col.update(
    {'title':'MongoDB 教程'},
    {$set:{'title':'MongoDB'}}
)

 

 7. 关系型数据库与MongoDB的对应关系

 

 

详细操作见https://www.runoob.com/mongodb/mongodb-tutorial.html

posted @ 2019-06-19 19:53  华格瑞沙  阅读(474)  评论(0编辑  收藏  举报