07_MongoDB_GridFS_存储文件
2017-12-29 14:40
435 查看
GridFS
mongoDB除了保存各种文档(JOSN结构)外还能够保存文件。GridFS规范提供了一种透明机制,可以将一个大文件分割成为多个较小的文档,这样的机制允许我们有效的保存大文件对象,特别对于那些巨大的文件,比如视频、高清图片等。
GridFS使用两个表来存储数据:
_id:文件唯一的id,在块中为“files_id”键的值存储
length:文件内容总的字节数
chunksize:每块的大小,以字节为单位。默认25K,可以调整
uploadDate:文件存入的时间
md5:文件内容的md5校验,由服务端生成
_id:标志唯一
n:表示块的编号,也就是这个块在原文件中的顺序号
data:包含组成文件块的二进制数据
files_id: 包含这个块元数据的文件文档的"_id"
使用mongofile来操作GridFS:
命令说明
put:将文件系统中的一个文件添加到GridFS
list:会把所有添加到GridFS中的文件列出来
get:put的反向操作
在mongodb工具中查看GridFS
大小: 44.7 KB
查看图片附件
mongoDB除了保存各种文档(JOSN结构)外还能够保存文件。GridFS规范提供了一种透明机制,可以将一个大文件分割成为多个较小的文档,这样的机制允许我们有效的保存大文件对象,特别对于那些巨大的文件,比如视频、高清图片等。
GridFS使用两个表来存储数据:
files:包含元数据对象
文件的元数据放在这个集合里面,默认fs.files。这个里面的每个文档表示GridFS中的一个文件,与文件相关的自定义元数据也保存在其中,除了用户自定义的键,GridFS还有默认的一些键:_id:文件唯一的id,在块中为“files_id”键的值存储
length:文件内容总的字节数
chunksize:每块的大小,以字节为单位。默认25K,可以调整
uploadDate:文件存入的时间
md5:文件内容的md5校验,由服务端生成
chunks:包含其他一些相关信息的二进制块
GridFS的块有个单独的集合。默认情况下,块将使用fs.chunks集合,如果有需要可以覆盖。这个块集合里面文档的结构非常简单:{ "_id":ObjectId("......"), "n":0, "data":BinData("......"), "files_id":ObjectId(".......") }
_id:标志唯一
n:表示块的编号,也就是这个块在原文件中的顺序号
data:包含组成文件块的二进制数据
files_id: 包含这个块元数据的文件文档的"_id"
使用mongofile来操作GridFS:
//将 “aaaa” 写入foo.txt文件中 c:\MongoDB\mongodb_win32_x86_64_2.2.7\bin>echo "aaaa" > foo.txt //将foo.txt保存到GridFS中 c:\MongoDB\mongodb_win32_x86_64_2.2.7\bin>mongofiles.exe put foo.txt connected to: 127.0.0.1 added file: { _id: ObjectId('53449f0becdebde54ff76105'), filename: "foo.txt", ch unkSize: 262144, uploadDate: new Date(1397006091696), md5: "819596956779801cced4 fb21379bf023", length: 9 } done! //查看 c:\MongoDB\mongodb_win32_x86_64_2.2.7\bin>mongofiles.exe list connected to: 127.0.0.1 foo.txt 9 //获取 c:\MongoDB\mongodb_win32_x86_64_2.2.7\bin>mongofiles.exe get foo.txt connected to: 127.0.0.1 done write to: foo.txt
命令说明
put:将文件系统中的一个文件添加到GridFS
list:会把所有添加到GridFS中的文件列出来
get:put的反向操作
在mongodb工具中查看GridFS
大小: 44.7 KB
查看图片附件
相关文章推荐
- PHP操作MongoDB GridFS 存储文件
- PHP MongoDB GridFS 存储文件的方法详解
- MongoDb gridfs-ngnix文件存储方案
- 用Mongodb基于GridFS存储文件
- c#通过操作mongodb gridfs实现文件的数据库存储
- GridFS:基于MongoDB的分布式文件存储系统
- MongoDb gridfs-ngnix文件存储方案
- MongoDB_GridFS_存储文件
- MongoDB GridFS图片文件存储解决方案
- MongoDB--GridFS 文件存储系统
- MongoDB GridFS存储文件
- MongoDB入门(8)- c#通过操作MongoDB GridFS实现文件的数据库存储
- MongoDB之GridFS存储文件
- MongoDB的GridFS与文件系统在小文件存储的读取性能对比
- PHP操作MongoDB GridFS 存储文件的详解
- MongoDB应用——GridFS存储文件
- MongoDB的GridFS与文件系统在小文件存储的读取性能对
- mongodb开发---GridFS文件存储
- MongoDB基于GridFS存储文件
- MongoDb gridfs-ngnix文件存储方案 - 图片