上一篇mongodb教程我们学习了:mapReduce、全文搜索和正则表达式的用法,本章我们会讨论一个mongodb管理工具RockMongo,以及mongodb的分布式文件储存系统GridFS。
一、RockMongo管理工具
RockMongo是一个用来管理服务器、数据库、集合、文档、索引等等的MongoDB管理工具,它为阅读、编写和创建文档提供了一种非常友好的方式,它类似于PHP和MySQL的PHPMyAdmin工具。
1、下载RockMongo
你可以从这里下载最新版本的RockMongo: https://github.com/iwind/rockmongo
2、安装RockMongo
下载后,你可以在你的服务器根文件夹中解压缩包,并将解压缩的文件夹重命名为rockmongo。打开任何web浏览器并从rockmongo文件夹访问index.php页面,分别输入admin/admin作为用户名/密码。
3、使用RockMongo
我们之前做的一些基本操作现在都可以用RockMongo来做。
4、创建新的数据库
要创建新数据库,请点击“数据库”选项卡,点击创建新数据库,在下一个屏幕上,提供新数据库的名称并点击Create,你将看到在左侧面板中添加了一个新数据库。
5、创建新的集合
要在数据库中创建新集合,请从左侧面板中点击该数据库。点击顶部的新收藏链接,提供所需的集合名称,不要担心其他字段的是上限、大小和最大值,点击创建将创建一个新的集合,你将能够在左侧面板中看到它。
6、创建新文档
要创建新文档,请点击要添加文档的集合,当你点击某个集合时,你将能够看到该集合中列出的所有文档。要创建新文档,点击顶部的Insert链接,你可以输入JSON或数组格式的文档数据,然后点击Save。
7、导出/导入数据要
导入/导出任何集合的数据,请点击该集合,然后点击顶部面板上的导出/导入链接。按照下面的说明以zip格式导出数据,然后导入相同的zip文件以导入回数据。
二、GridFS分布式文件储存系统
GridFS是用于存储和检索大型文件(如图像、音频文件、视频文件等)的MongoDB规范。它是一种存储文件的文件系统,但是它的数据存储在MongoDB集合中,GridFS能够存储比其文档大小限制(16MB)更大的文件。
GridFS将文件分成块,并将每个数据块存储在单独的文档中,每个文档的最大大小为255k。
GridFS默认使用两个集合fs.files和fs.chunks来存储文件的元数据和块,每个块由其惟一的_id ObjectId字段标识,fs.files用作父文档,fs中的files_id字段,chunk文档将块链接到其父块。
下面是fs.files集合的一个示例:
{
"filename": "test.txt",
"chunkSize": NumberInt(5844),
"uploadDate": ISODate("2030"),
"md5": "xxx",
"length": NumberInt(369)
}
文档指定文件名、块大小、上传日期和长度,下面是fs.chunks的一个示例:
{
"files_id": ObjectId("id"),
"n": NumberInt(0),
"data": "data"
}
向GridFS添加文件
我们将使用put命令使用GridFS存储mp3文件,另外我们将使用MongoDB安装文件夹bin文件夹中提供的mongofiles.exe实用程序。
打开命令提示符,导航到MongoDB安装文件夹的bin文件夹中的mongofiles.exe,并输入以下代码:
>mongofiles.exe -d gridfs put song.mp3
这里的gridfs是存储文件的数据库的名称,如果数据库不存在,MongoDB将动态地自动创建一个新文档,song.mp3是上传文件的名称。要查看数据库中的文件文档,可以使用find查询:
>db.fs.files.find()
评论前必须登录!
注册