【MongoDB学习笔记29】MongoDB的GridFS存储深入
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,GridFS的原理是将大文件分割为多个比较大的块,将每个块作为独立的文档进行存储。(1)GridFS中的块会被存贮到专用的集合中,默认为fs.chunks;(2)除了将文件的每一个块单独存储外,还需要
千家信息网最后更新 2025年02月22日【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安全错误
数据库的锁怎样保障安全
时间同步服务器如何工作
深圳信锐网络技术公司待遇
焊接质量预测软件开发
9月网络安全宣传活动总结
云服务器选哪个区
常熟软件开发技术
朝阳区正规软件开发介绍
大型数据库硬盘一般多大
河北常见软件开发厂家价格
网络安全白帽和黑帽
如何进行数据库增加或删除
安康网络安全情况
pptp服务器域名些什么
主流服务器配置
关闭小米位置服务器
数据库中and的含义
川大网络安全硕士复试线
维普查重数据库
2022年北京网络安全大会
怀旧服开启服务器顺序
平度市天气预报软件开发
2022年网络安全介绍
天津ftp服务器托管
网络技术部工作交接表
软件开发公司可靠么
停车管理软件开发
idc服务器需要同相电吗
从青少年抓起网络安全
万德数据财经数据库
崩坏三端游服务器怎么选