【MongoDB学习笔记29】MongoDB的GridFS存储深入
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,GridFS的原理是将大文件分割为多个比较大的块,将每个块作为独立的文档进行存储。(1)GridFS中的块会被存贮到专用的集合中,默认为fs.chunks;(2)除了将文件的每一个块单独存储外,还需要
千家信息网最后更新 2025年11月07日【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安全错误
数据库的锁怎样保障安全
幼儿园数据库开发背景
戴尔t30塔式服务器怎么管理
奉贤区品牌软件开发定制价格
杜跃进网络安全吗
旅游网络技术影响
广州派诺云网络技术有限公司
网络安全班会教案 总结
全国计算机三级网络技术查询
江苏前端软件开发哪家便宜
在哪个区找服务器玩dnf
存储过程是哪个数据库的
香港恒生互联网科技业指数
找工作网络技术员
服务器监控开源
质谱数据库厂家
429网络安全日期表
深圳三圆互联网科技有限公司
互联网的科技属性
携程数据库技术员
竹溪服务软件开发案例
张家港市杨舍镇华文软件开发部
基于神经网络技术特征提取
品质网络技术咨询怎么样
权威互联网科技公司
iframe 服务器
移动的服务器地址
医学信息网络技术专业
网络安全课观后感200字
魔法觉醒点错服务器了怎么办
破坏网络安全的物理因素