Mongodb08 - 固定集合、GridFS、用户管理

1、固定集合

  (01)、所谓的固定集合指的是规定集合大小,如果要保存的内容已经超过了集合的长度,那么采用LRU的算法(最少使用原则)将最早

      的数据移除,从而保存新的数据;

  (02)、默认情况下一个集合可以使用createCollection(函数创建),或者使用增加数据自动创建,但是如果想要使用固定集合,

      就必须明确的创建一个空集合。

  (03)、范例:创建一个空集合(固定集合)=>

      db.createCollection("depts": true, "size": 1024,"max":5);

      其中“capped :true”表示为一个固定集合,而“size:1024”指的是集合所占的空间容量(字节)、“max”:5最多能放5条,

      多余的数据会自动清除。

2、GridFS  

  (01)、在MongoDB里面支持大数据的存储(例如:图片、音乐、各种二进制数据),但是这个方法需要用户自己进行处理,

      MongoDB提供了“mongofiles”命令完成

      1、利用命令行进入到文件所在的路径下

      2、将文件保存到文件库中:mongofiles --port=27001 put photo.png

          此时会想数据库里面写入要保存的二进制数据;

      3、查看保存的文件  mongofiles --port=27001 list

      4、在MongoDB里面有一个fs系统集合,这个集合默认保存在了test数据库下;

        use test;

        db.fs.files.find();

      5、删除文件

        mongofiles --port=27001 delete phote.png

        等于在mongoDB里面支持二进制数据的保存,但是存在的意义不大。

3、用户管理

  (01)、在MongoDB里面默认情况下只要是进行连接都可以不使用用户与密码,因为要想让其起作用,则必须具备以下两个条件:

      |-  条件一:服务器启动的时候打开授权认证

      |- 条件二:需要配置用户名和密码。

      但是需要明确的是,如果想配置用户名和密码一定是针对于一个数据库的,例如现在要创建的是mldn数据库的用户,

      那么必须切换到mldn数据库上。

      use mldn

  (02)、范例:执行用户的创建(hello、java) =>   db.createUser({"user": "hellp", "pwd":"java", "roles": [{"role": "readWrite", "db":"mldn"}]});

      任何的用户都必须具备一个自己的操作角色,对于角色最基础的角色:read、readWrite。

  (03)、创建了hello用户,那么如果要想让此用户名起作用,则必须以授权的方式打开MongoDB的服务,修改MongoDB的启动文件

#设置数据目录的路径
 dbpath = D:\Mongodb\data
 #设置日志信息的文件路径
 logpath = D:\Mongodb\log\mongodb.log
 #打开日志输出操作
 logappend = true
 #在以后进行用户管理的时候使用它, auth:准许授权操作
 noauth = true
 port = 27001

 

        此时增加了一个验证的启动模式,发现依然可以在不输入用户和密码的前提下进行登录,并且也可以直接进行数据库的切换操作。

        但是在使用数据库集合的时候出现了错误提示。

        范例:登录数据库的时候使用用户名和密码  =>  mongo localhost:27001/mldn -u hello -p java 

          此时就表示成功的实现了用户的登录操作。

        范例:修改密码  =>  db.changeUserPassword("hello","happy");

          如果要修改密码,那么久请关闭授权登录。

 

posted @ 2018-01-08 19:02  FallenLunatic  阅读(249)  评论(0编辑  收藏  举报