【MongoDB学习笔记28】MongoDB的GridFS存储机制
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,GridFS作为MongoDB的存储机制,用来存放二进制大文件;GridFS有以下优点:(1)使用GridFS简化存储栈,在MongoDB中替代独立的存储工具;(2)GridFS会自动平衡已有的复制和
千家信息网最后更新 2025年11月06日【MongoDB学习笔记28】MongoDB的GridFS存储机制
GridFS作为MongoDB的存储机制,用来存放二进制大文件;
GridFS有以下优点:
(1)使用GridFS简化存储栈,在MongoDB中替代独立的存储工具;
(2)GridFS会自动平衡已有的复制和自动分片,对文件存储做故障转移挥着横向扩展会更容易;
(3)MongoDB中以2GB的大小来分配数据文件,在GridFS中文件存储集中度会比较高;
GridFS当然也有缺点:
(1)从GridFS中读取文件没有直接从文件系统中快;
(2)修改存放在GridFS中的文档,只有先删除就文档然后从新保存文档;
(3)如果大文件作为多个文件存储,修改这个大文档时无法对所有的文件块加锁;
针对上述的优缺点,可以看出,GridFS比较适合存放不常修改的大文件。
使用mongofiles管理GrideFS
(1)用-help来查看mongofiles参数
[root@localhost ~]# mongofiles --help Browse and modify a GridFS filesystem.
(2)上传一个文件到数据库foo中的GridFS
[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!(3)列出GridFS中存储的文档
[root@localhost ~]# mongofiles -d foo list connected to: 127.0.0.1 foo.txt 12
(4)将文档中GridFS中下载到文件系统中
[root@localhost ~]# rm foo.txt rm: remove regular file `foo.txt'? y [root@localhost ~]# mongofiles -d foo get foo.txt connected to: 127.0.0.1 done write to: foo.txt [root@localhost ~]# cat foo.txt hello world
(5)搜索和删除文档
[root@localhost ~]# mongofiles -d foo search foo.txt connected to: 127.0.0.1 foo.txt 12 [root@localhost ~]# mongofiles -d foo delete foo.txt connected to: 127.0.0.1 done! [root@localhost ~]# mongofiles -d foo search foo.txt connected to: 127.0.0.1 [root@localhost ~]#
文件
存储
文档
数据
系统
机制
二进制
优点
优缺点
参数
只有
多个
大小
展会
工具
故障
数据库
横向
缺点
集中度
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
对学生网络安全教育心得
网络安全提升方案注意
农信系统网络安全知识测试
如何理解数据库连接关系
ie网络安全专家解释
高新区正规服务器代理厂家
哪里购买服务器
学生的网络安全守则
希望之村点什么进服务器
河北省低收入人口数据库
维普数据库和知网的不同
剑网1服务器互通吗
服务器80端口关闭
石家庄419网络裕华网络安全
网络安全现场勘察
vb软件开发简历
年轻人 推动互联网科技
网校数据库搭建
东莞自主可控软件开发价格走势
清空数据库中的所有表
济南定制软件开发平台
数据库系统技术参数设置
浪潮服务器传统启动模式
棋牌app用什么软件开发的
5G网络技术中的关键技术
广告推广系统软件开发
广州哪里招编程软件开发
数据库的排班时间
南宁西乡塘区软件开发哪家好
插入数据库值乱码的