mongoDB——GridFS存储机制
来源:互联网 发布:sql怎么安装 编辑:程序博客网 时间:2024/06/07 06:55
MongoDB的文档以BSON格式存储,支持二进制数据类型,所以,可以把文件的二进制格式的数据直接保存到MongoDB的文档中,但是每个文档的长度是有限制的,而我们一般上传的图片、视频等文件又比较大。针对这种情况,mongoDB提供了一种处理大文件的规范——GridFS。
一、实现原理:
将要存储的文件分成若干块儿,每一块作为一个单独的文档来存储,每块默认大小为256k。用两个集合来存储一个文件:fs.files与fs.chunks。
fs.files存放文件信息
_id:唯一标识 length:文件总长度 chunksize:每块儿的大小,默认为256k uploadDate:时间戳 md5:文件内容的md5校验和,值由服务器端生成,用于计算上传块的md5校验和,用户可以校验md5的值确保文件正确上传。 contentType:文件类型 还可以添加其他键来标识这个文件,例如,可以是上传者的信息。
fs.chunks:存放文件的数据
_id:唯一标识 files_id:文件集合中的_id n:文件的第几个块儿 data:文件的二进制数据
二、保存文件的流程:
如果文件大于chunksize,则把文件分割成多个chunk,再把这些chunk保存到fs.chunks中,最后再把文件信息存入到fs.files中。
三、读取文件的流程:
先据查询的条件,在fs.files中找到对应的文档,得到“_id”的值,再据这个值到fs.chunks中查找所有“files_id”为“_id”的chunk,并按“n”排序,最后依次读取chunk中“data”对象的内容,还原成原来的文件。
四、注意:
GridFS在上传文件过程中是先把文件数据保存到fs.chunks,最后再把文件信息保存到fs.files中,所以如果在上传文件过程中失败,有可能在fs.chunks中出现垃圾数据。这些垃圾数据可以定期清理掉。
文章出处:http://blog.csdn.net/liusong0605/article/details/11094179
- mongoDB——GridFS存储机制
- mongoDB——GridFS存储机制
- mongoDB——GridFS存储机制
- MongoDB分布式存储——GridFS
- MongoDB应用——GridFS存储文件
- MongoDB(八)Mongodb——GridFS存储
- Mongodb——GridFS
- MongoDB——GridFS
- MongoDB GridFS图片存储
- MongoDB GridFS存储文件
- MongoDB——GridFS使用
- MongoDB基于GridFS存储文件
- mongodb开发---GridFS文件存储
- MongoDB GridFS 使用 存储特点
- Nosql Mongodb之旅(11)—MongoDB GridFS
- 用Mongodb基于GridFS存储文件
- 基于MongoDB GridFS的图片存储
- 基于MongoDB GridFS的图片存储
- 一分钟了解微服务的好处和陷阱
- 机器学习第三章复习(3)
- Android Handler消息机制源码分析——第二部分: Message与Handler
- 从零构建部署Node.js+Express+Bootstrap Web应用
- 利用axis请求webservice接口
- mongoDB——GridFS存储机制
- opencv激光点追踪代码
- 全面了解Nginx到底能做什么
- MySQL中的bit类型知道多少呢?
- disney (map模拟)
- DFS学习归纳总结
- 使用SQL链接服务器在不同局域网下实现数据库的数据传递
- Oracle到MySQL数据库迁移之--主键生成策略替换
- JS基础---用户注册高亮显示