【MongoDB学习笔记29】MongoDB的GridFS存储深入
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,GridFS的原理是将大文件分割为多个比较大的块,将每个块作为独立的文档进行存储。(1)GridFS中的块会被存贮到专用的集合中,默认为fs.chunks;(2)除了将文件的每一个块单独存储外,还需要
千家信息网最后更新 2024年11月29日【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安全错误
数据库的锁怎样保障安全
网络安全问题研究调研文章
连不上数据库10060
河北软件开发者机构
it互联网科技聚焦
我的世界服务器的冰船隧道
重力数据库
高速公路网络安全与维护背景
数据库使用什么技术进行连接
辽宁高速服务器客服云主机
网络安全和信息化是互
题库安卓软件开发
汽车租赁系统管理数据库合并
网络安全零事件报告怎么写
云数据库系统
问道手游进不去显示数据库繁忙
浙江现代软件开发报价表
神舟通用数据库介绍
天心区软件开发
计算机网络技术介绍ppt
盛轩网络技术有限公司
强事务的数据库中间件
数据库出现快照过旧
河南工控软件开发靠谱吗
山东服务器机柜厂商
成武县公安局网络安全保卫大队
巡检管理系统怎么改数据库
数据库五个范式
云主机服务器安全
綦江区工商软件开发服务公司
1.14.4有什么好玩的服务器