1、概述
GridFS是MongoDB的一种存储机制,用来存储大型二进制文件。
优势:
1.使用GridFS可以简化你的栈。若是已经在使用MongoDB,那么可使用GridFS来代替独立的文件存储工具2.GridFS会自动平衡已有的复制或者为MongoDB设置的自动分片,因此对文件存储作故障转移或者横向扩展会更容易。3.当用于存储用户上传的文件时,GridFS能够比较从容地解决其余一些文件系统可能会遇到的问题。4.在GridFS中,文件存储的集中度会很是高,由于MongoDB是以2G为单位来分配数据文件。
缺点:
1.GridFS的性能比较低:从MongoDB中访问文件,不如直接从文件系统中访问文件速度快2.若是要修改GridFS上的文档,只能先将已有文件删除,而后再将整个文档从新保存。
GridFS使用最简单的方式是使用mongofiles工具,全部Mongo DB发行版中都包含了mongofiles这个工具,能够用它在GridFS中上传文件、下载文件、查看文件列表、搜索文件、以及删除文件。下面就为你们演示一下。
2、代码演示。
2.1上传一个文件
mongofiles -d foobar -l "E:\a.txt" put "a.txt"
2.2查看文件列表
db.fs.chunks.find() 和db.fs.files.find() 存储了文件系统的全部文件信息
2.3查看全部文件
mongofiles -d foobar list
2.4删除存在的文件
mongofiles -d foobar delete 'a.txt'
3、总结。
GridFS系统为咱们再用MongoDB存储很大的数据文件提供了一个很高效的系统