GridFS--mongofiles工具的使用方法

1.为什么使用GridFS

由于MongoDB 中BSON 对象大小是有限制的,所以GridFS 规范提供了一种透明的机制,可 以将一个大文件分割成为多个较小的文档,这样的机制允许我们有效的保存大文件对象,特 别对于那些巨大的文件,比如视频、高清图片等。

2.如何实现海量存储

为实现这点,该规范指定了一个将文件分块的标准。每个文件都将在文件集合对象中保存一个元数据对象,一个或多个chunk 块对象可被组合保存在一个chunk 块集合中。大多数情况下,你无需了解此规范中细节,而可将注意力放在各个语言版本的驱动中有关GridFS API 的部分或是如何使用mongofiles 工具上。

3.简要介绍

GridFS 使用两个表来存储数据: 
1、files 包含元数据对象
2、chunks 包含其他一些相关信息的二进制块
为了使多个GridFS 命名为一个单一的数据库,文件和块都有一个前缀,默认情况下,前缀是fs,所以任何默认的GridFS 存储将包括命名空间fs.files 和fs.chunks。各种第三方语言的驱动有权限改变这个前缀,所以你可以尝试设置另一个GridFS 命名空间用于存储照片,它的具体位置为:photos.files 和photos.chunks。下面我们看一下实际的例子吧。

4.mongofiles使用

存文件
1.启动mongodb服务,即使用mongod.exe[若是远程连接,则忽略此步骤]。
2.启动mongofiles工具。假设mongofiles工具的路径为:E:\mongodb\bin\mongofiles.exe,需要保存E盘下testData.txt文件;在命令行输入E:\mongodb\bin\mongofiles.exe put E:\testData.txt [E:\testData.txt不能添加引号]。
若保存成功,则会显示如下:
GridFS--mongofiles工具的使用方法_第1张图片
表明成功将文件保存至数据库了。这个时候,即使把E盘下的testData删除也没事。

取出文件:
取出文件的命令跟保存文件差不多,但是需要注意的是,输出文件的路径要与保存时给定的路径一样【这一点我感觉很奇怪】。
命令行输入:E:\mongodb\bin\mongofiles.exe get E:\testData.txt 
若成功,则会显示如下:


5.查看

启动mongo.exe,查看集合:
GridFS--mongofiles工具的使用方法_第2张图片
查看fs.files内容:

查看chunks的内容:




你可能感兴趣的:(MongoDB)