【MongoDB学习笔记29】MongoDB的GridFS存储深入
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,GridFS的原理是将大文件分割为多个比较大的块,将每个块作为独立的文档进行存储。(1)GridFS中的块会被存贮到专用的集合中,默认为fs.chunks;(2)除了将文件的每一个块单独存储外,还需要
千家信息网最后更新 2026年10月31日【MongoDB学习笔记29】MongoDB的GridFS存储深入
GridFS的原理是将大文件分割为多个比较大的块,将每个块作为独立的文档进行存储。
(1)GridFS中的块会被存贮到专用的集合中,默认为fs.chunks;
(2)除了将文件的每一个块单独存储外,还需要将每个文件块的元信息放入一个文档存储,并将这些文档默认集中在fs.files集合中;
例如将foo.txt文档加入到数据库foo中:
[root@localhost ~]# echo "hello world" >foo.txt [root@localhost ~]# mongofiles -d foo put foo.txt connected to: 127.0.0.1 added file: { _id: ObjectId('54b3d62983047a88669bc529'), filename: "foo.txt", chunkSize: 261120, uploadDate: new Date(1421071914003), md5: "6f5902ac237024bdd0c176cb93063dc4", length: 12 } done!查看相应的集合:
> show collections fs.chunks fs.files system.indexes >
查看这个文档:
[root@localhost ~]# mongo foo MongoDB shell version: 2.6.6 connecting to: foo > db.fs.chunks.findOne() { "_id" : ObjectId("54b51dc15caeb0e1a8722e8d"), "files_id" : ObjectId("54b51dc0c3ab6ae7c08f6028"), "n" : 0, "data" : BinData(0,"aGVsbG8gd29ybGQK") } >files_id:块所属文件的元信息;
n: 块在文件中的相对位置;
data:块所包含的二进制数据;
> db.fs.files.findOne() { "_id" : ObjectId("54b51dc0c3ab6ae7c08f6028"), "filename" : "foo.txt", "chunkSize" : 261120, "uploadDate" : ISODate("2015-01-13T13:29:37.525Z"), "md5" : "6f5902ac237024bdd0c176cb93063dc4", "length" : 12 } >_id:文件的唯一ID,跟文件的每个块中的files_id的值是一致的;
length:文件所包含的字节数;
chunkSize:组成文件的每个块的大小,单位是字节;
updateDate:文件被上传到GridFS的时间;
MD5:文件的MD5值,由服务器计算所得;
文件
文档
存储
信息
字节
数据
一致
二进制
位置
单位
原理
多个
大小
所属
所得
数据库
时间
服务器
并将
专用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡
精品咖啡豆
嘟嘟瓜互联网科技
天津摩尔互联网科技
美国互联网黑科技
互联网科技论坛
四川狮子座互联网科技
国外互联网科技网站
中国互联网金融科技基金
深圳国际航运科技和互联网
互联网科技中介
互联网科技与大数据专业
天津腾达互联网科技有限公司
互联网科技快讯热点
山东大美朱楼互联网科技有限公司
吉林省码上互联网科技电话
同城互联网络科技
长沙易易互联网科技有限公司
互联网大会出现的黑科技
每日互联网科技新闻
互联网科技视频素材
互联网科技公司介绍
哈尔滨秒房互联网科技有限公司
蓝色互联网科技
中盈科技互联网信息有限公司
互联网教育科技公司vipkid
互联网科技革命什么开始
苏州铭阳互联网科技有限公司
深圳艾果互联网通讯科技
特约风豹互联网科技为什么扣费