【MongoDB学习笔记29】MongoDB的GridFS存储深入
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,GridFS的原理是将大文件分割为多个比较大的块,将每个块作为独立的文档进行存储。(1)GridFS中的块会被存贮到专用的集合中,默认为fs.chunks;(2)除了将文件的每一个块单独存储外,还需要
千家信息网最后更新 2024年11月11日【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安全错误
数据库的锁怎样保障安全
sql连接数据库怎么跳转
方舟生存进化怎样开服务器手机版
sql查看数据库表结构图
数据库安全系统方案
数据库性能的主要指标
河南铭啸互联网科技有限公司
网络安全宣传标语英语
安宁软件开发价格信息
sql数据库接入DC域控
局域网服务器文件同步
猫和老鼠最垃圾的服务器
通用软件开发方面主要学什么
hcna网络技术是个什么
js组json格式数据库
北京安宁创新网络技术有限公司
朔州网络技术发展
ps5全境封锁1登不上服务器
四川企业内部erp软件开发
计算机数据库程序拉里艾丽森
海得容错服务器手动同步硬盘数据
Pigasus网络安全
数据库技术概述卷子
ac1900能做打印服务器吗
文件存储 数据库 缓存
抖音贯丘网络技术
软件开发工程师报考多少钱
如果没有网络安全会怎么样
sonar检查数据库连接
网络技术专业人才培养目标
web服务器中间件