1.利用Mongofile命令进行文件的操作
usage: mongofiles.exe [options] command [gridfs filename]
command:
one of (list|search|put|get)
list - list all files. 'gridfs filename' is an optional prefix //查看所有文件
which listed filenames must begin with.
search - search all files. 'gridfs filename' is a substring //查找文件
which listed filenames must contain.
put - add a file with filename 'gridfs filename' //上传文件
get - get a file with filename 'gridfs filename' //获取文件
delete - delete all files with filename 'gridfs filename' //删除文件
options:
--help produce help message
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
-h [ --host ] arg mongo host to connect to ( <set name>/s1,s2 for sets
--port arg server port. Can also use --host hostname:port
--ipv6 enable IPv6 support (disabled by default)
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod database files in the given
path, instead of connecting to a mongod server -
needs to lock the data directory, so cannot be used
if a mongod is currently accessing the same path
--directoryperdb if dbpath specified, each db is in a separate
directory
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
-l [ --local ] arg local filename for put|get (default is to use the
same name as 'gridfs filename')
-t [ --type ] arg MIME type for put (default is to omit)
-r [ --replace ] Remove other files with same name after PUT
2.内部原理
GridFS基本思想是可以将大文件分成很多块,每块作为一个单独的文档存储,这样就能存大文件了。由于MongoDB支持在文档中存储二进制数据,可以最大限度减小块的存储开销。另外,除了存储文件本身的块,还有一个单独的文档用来储存分块的信息和文件的元数据。
默认情况下使用fs.chunks集合存块。其文档结构如下:
{
"_id":ObjectId("......"),
"n":0,//表示块编号
"data":BinData("...."),//二进制数据
"files_id"//包含这个块元数据的文件文档的"_id"
}
默认使用fs.file存文件的元数据
> db.fs.files.find()
{ "_id" : ObjectId("4fc86cceddc24f04eed5b200"), "filename" : "../Alfresco.txt",
"chunkSize" : 262144, "uploadDate" : ISODate("2012-06-01T07:18:38.763Z"), "md5"
: "e3c2d56f6b6cf4ec09da825e24b6c758", "length" : 1021 }
>
其中_id,文件唯一的id,在块中作为files_id键的值存储
length,文件内容总的字节数
chunkSize每块的大小,以字节为单位,默认为256K,必要时可以调整。
uploadDate 文件存储的时间戳
md5 文件内容的md5的校验和,由服务器端生成。
分享到:
相关推荐
顺丰单号发给还是关键是感慨时光飞逝看看
基于.net+SQLserver校园通,适合学生毕设参考,项目可完美运行
PkgModelProposal_rev
环中国自驾公路路线是许多自驾游爱好者的终极梦想,这条路线包括三条主要的国道:G219、G331和G228。 自驾路线的SHP和KML格式文件 环中国自驾路线经过的省份有新疆、西藏、云南、广西、辽宁、吉林、黑龙江、内蒙古、河北、天津、山东、江苏、上海、浙江、福建、广东。
zambell_110216_3cd_adhoc-v2
2024免费微信小程序毕业设计成品,包括源码+数据库+往届论文资料,附带启动教程和安装包。 启动教程:https://www.bilibili.com/video/BV1BfB2YYEnS 讲解视频:https://www.bilibili.com/video/BV1BVKMeZEYr 技术栈:Uniapp+Vue.js+SpringBoot+MySQL。 开发工具:Idea+VSCode+微信开发者工具。
基于Comsol模拟的环盘结构近场耦合效应的增强研究,基于COMSOL的环盘结构近场耦合增强技术研究,comsol环盘近场耦合增强。 ,comsol;环盘;近场耦合;增强,Comsol环盘结构近场耦合效应显著增强
1、文件内容:ws-jaxme-manual-0.5.2-10.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/ws-jaxme-manual-0.5.2-10.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
资源内项目源码是均来自个人的课程设计、毕业设计或者具体项目,代码都测试ok,都是运行成功后才上传资源,答辩评审绝对信服的,拿来就能用。放心下载使用!源码、说明、论文、数据集一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 4、如有侵权请私信博主,感谢支持
基于Django的个性化餐饮管理系统_1ml1r29h.zip
exceptionLogs.zip
普通人如何抓住DeepSeek红利
开关磁阻电机SRM的PID参数优化研究:基于粒子群算法的联合仿真探索,开关磁阻电机SRM的PID参数优化研究:基于粒子群算法的Matlab与Simulink联合仿真方法,开关磁阻电机SRM的PID参数优化 PID控制开关磁阻电机,粒子群算法优化PID参数(模型里面是matlab和simulink联合仿真) ,开关磁阻电机SRM; PID参数优化; 粒子群算法; MATLAB; Simulink联合仿真,基于粒子群算法的SRM电机PID参数优化
deepseek最新资讯、配置方法、使用技巧,持续更新中
2024免费微信小程序毕业设计成品,包括源码+数据库+往届论文资料,附带启动教程和安装包。 启动教程:https://www.bilibili.com/video/BV1BfB2YYEnS 讲解视频:https://www.bilibili.com/video/BV1BVKMeZEYr 技术栈:Uniapp+Vue.js+SpringBoot+MySQL。 开发工具:Idea+VSCode+微信开发者工具。
金属壁镜面反射BIC特性解析:频率实虚部、Q因子与反射谱计算研究,金属壁镜面反射BIC的频域特性分析与反射谱计算:涵盖实部虚部与Q因子探讨,金属壁镜面反射BIC,包含频率实部虚部,Q因子,反射谱计算 ,金属壁; 镜面反射; BIC; 频率实部虚部; Q因子; 反射谱计算;,金属壁镜面反射BIC:实虚频率分析,Q因子与反射谱计算技术
2024免费微信小程序毕业设计成品,包括源码+数据库+往届论文资料,附带启动教程和安装包。 启动教程:https://www.bilibili.com/video/BV1BfB2YYEnS 讲解视频:https://www.bilibili.com/video/BV1BVKMeZEYr 技术栈:Uniapp+Vue.js+SpringBoot+MySQL。 开发工具:Idea+VSCode+微信开发者工具。
deepseek最新资讯、配置方法、使用技巧,持续更新中
1、文件内容:xerces-c-doc-3.1.1-10.el7_7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/xerces-c-doc-3.1.1-10.el7_7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
Simulink二次调频AGC教程:涵盖储能与火电机组,适合初学者快速入门,Simulink二次调频AGC教程:涵盖储能与火电机组,适合初学者入门探究两区域系统二次调频原理,simulink二次调频AGC,含储能、火电机组。 经典两区域系统二次调频,适合初学者入门。 ,二次调频AGC; 储能; 火电机组; 经典两区域系统; 入门学习; 模型学习,经典入门:Simulink二次调频AGC系统含储能与火电机组控制