标签:
GridFS
mongoDB除了保存各种文档(JOSN结构)外还能够保存文件。GridFS规范提供了一种透明机制,可以将一个大文件分割成为多个较小的文档,这样的机制允许我们有效的保存大文件对象,特别对于那些巨大的文件,比如视频、高清图片等。
GridFS使用两个表来存储数据:
文件的元数据放在这个集合里面,默认fs.files。这个里面的每个文档表示GridFS中的一个文件,与文件相关的自定义元数据也保存在其中,除了用户自定义的键,GridFS还有默认的一些键:
GridFS的块有个单独的集合。默认情况下,块将使用fs.chunks集合,如果有需要可以覆盖。这个块集合里面文档的结构非常简单:
1 { 2 "_id":ObjectId("......"), 3 "n":0, 4 "data":BinData("......"), 5 "files_id":ObjectId(".......") 6 }
使用mongofile来操作GridFS:
1 //将 “aaaa” 写入foo.txt文件中 2 c:\MongoDB\mongodb_win32_x86_64_2.2.7\bin>echo "aaaa" > foo.txt 3 //将foo.txt保存到GridFS中 4 c:\MongoDB\mongodb_win32_x86_64_2.2.7\bin>mongofiles.exe put foo.txt 5 connected to: 127.0.0.1 6 added file: { _id: ObjectId(‘53449f0becdebde54ff76105‘), filename: "foo.txt", ch 7 unkSize: 262144, uploadDate: new Date(1397006091696), md5: "819596956779801cced4 8 fb21379bf023", length: 9 } 9 done! 10 //查看 11 c:\MongoDB\mongodb_win32_x86_64_2.2.7\bin>mongofiles.exe list 12 connected to: 127.0.0.1 13 foo.txt 9 14 //获取 15 c:\MongoDB\mongodb_win32_x86_64_2.2.7\bin>mongofiles.exe get foo.txt 16 connected to: 127.0.0.1 17 done write to: foo.txt
命令说明
put:将文件系统中的一个文件添加到GridFS
list:会把所有添加到GridFS中的文件列出来
get:put的反向操作
在mongodb工具中查看GridFS
标签:
原文地址:http://www.cnblogs.com/liuzhongfeng/p/5588794.html