【网易云课堂】MongoDB深入操作
【网易云课堂】MongoDB深入操作
1、固定集合
所谓固定集合值的是规定集合的大小,如果要保存的内容已近超过了集合的长度,那么会采用最近最少使用的原则,将最早的数据移除保存新的数据
默认情况下,一个集合可以使用createCollection()函数创建,或者使用添加数据自动创建,如果使用固定集合 必须明确的创建一个空集合
创建一个空集合
"capped":true 表示是一个固定集合,"size":1024表的最大容量是1024个字节,"max":5表示最大的数据量是5条
普通集合可以通过 convertToCapped将普通集合转为固定集合
db.runCommand({convertToCapped:”test_2”,size:10,max:3})
2、GridFS
在MongoDB中支持大数据的存储,例如图片,音乐等二进制数据,但是这个做法需要用户自己进行处理,使用mogofiles命令完成
1、 利用命令行进入到所在的路径下 2、 mongofiles put photo.jpg 3、 查看保存的文件 mongofiles list 4、 show dbs数据库没有太大的变化 5、 db.fs.files.find()在数据库中查看 6、 删除文件mongofiles delete photo.jpg
3、用户管理
在MongoDB中默认情况下,只要进行链接可以不使用用户名和密码,因为要想让其起作用,必须有一下两个条件:
1、 服务器启动的时候,打开授权认证
security
auth=true
2、 需要配置用户名和密码
但是需要明确的是,如果要想配置用户名和密码一定要针对一个数据库,必须首先切换到数据库上, use test
执行用户的创建(u:hello p:java) 任何一个用户必须要有自己的角色,对于角色最基础的是read,readwrite
如果想让此用户名起作用,必须以授权的方式启动服务
登录数据库使用用户名和密码 mongo -u hello -p java
如果要修改密码,就关闭授权登录,重启服务,修改密码
4、常用到的角色介绍:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
1.在数据库安装成功的基础上连接上客户端输入如下指令:
注意:创建超级管理员成功
2.创建读写用户指令如下:
Last updated
Was this helpful?