前言

在开始正文之前,感谢博客园的Nosql爱好者对于MongoCola工具的试用(使用)。特别感谢 呆呆 这位朋友的Bug报告,让我纠正了一个很严重的Bug。同时也感谢以前的多个网友在博客留言中给我的意见,建议,以及BUG的修正方案。这个工具的进步离不开你们的贡献。最新版的MongoCola为1.13.主要改进了一些视觉效果上的东西,毕竟这个工具不是个人的工具了,在保证品质的前提下,也要考虑到美观和易用性了。

如何得到MongoDB

MongoDB是一个开源的项目,你可以从GitHub上获取MongoDB的源代码,当然对于大部分用户来说,我们并不需要源代码,直接下载可执行的文件即可。最新版的MongoDB是2.0.4.

你可以从MongoDB的官方网站下载。 官方网站下载地址:http://www.mongodb.org/downloads

温馨提示:各种平台的版本很多,请选择正确的版本下载。

下载后的文件是一个压缩包,直接解压就可以了。解压后,你会看到若干个 EXE 可执行文件,其中 mongod.exe 是重点文件(Mongo device)启动新的Mongo服务器必须要用到这个。

如何启动一个MongoDB服务器

启动一个MongoDB服务器的实例,有很多方法,这里将一个最简单的方法(注意,不是最合适的方法)。这个方法非常适合我们学习者使用。

首先,请准备好一个目录,用于存放MongoDB的数据库文件。例如 C:\mongodb\master 这样的目录。MongoDB的数据库文件和日志文件等等都会生成在这个目录下面。

确保了目录已经存在后,我们可以在DosCommand里面启动一个MongodB服务器了。(我想大部分在这里的人是知道如何启动DosCommand命令行的)

然后依次输入以下两条命令:(我们假设你的mongod.exe放在C:\runmongo\bin 文件夹里面了)

 
     cd C:\runmongo\bin
     mongod --port  28018 --dbpath C:\mongodb\master --master --rest --journal

第一条指令是将工作目录切换到Mongo的Bin下面,第二条命令是启动一个Mongodb的服务器。 启动命令的详细细节,暂时不介绍,请大家试试看能不能启动。(这里我选择了28018这个端口作为Mongodb的TCP/IP端口,一般建议使用10000以上的端口)。

一般,我会将这两条命令放在一个扩展名为 .bat 的批处理文件里面,以后只需要执行这个批处理文件就可以了。例如 你可以新建一个名为master.bat的文件,然后将这两句指令保存到这个文件中,以后通过双击master.bat就可以进行服务器的启动了。

正常启动的Dos界面

使用工具监视操作MongoDB

你可以使用Mongo原生的命令行工具来监视和操作MongoDB,也可以使用各种MongoDB的工具来操作MongoDB。这里我使用自己开发的工具来监视和操作MongoDB。

1.启动MongoCola:如果你是第一次使用MongoCola,先选择界面语言。由于工具是面向全球的,所以使用英语为默认语言。当然,你可以选择 中文 为界面语言,

然后,请设定一下你的Mongo的可执行文件的路径,软件的一些功能需要使用一些原生的可执行文件

例如我的路径是C:\runmongo\bin  当然,你也可以在以后进行设置。不过强烈建议一开始就设置。不然影响部分功能的使用。

2.接下来,我们新建一个数据库连接。

由于第一次使用,所以没有任何登录过的连接。首先,我们新建一个新的连接。

一个最最基本的链接,只需要Host名称和Port就可以了。我将这个链接的名字定为 Master,然后由于是本地的服务器,所以Host就填为localhost,端口是28018.

设定好了以后,可以按下Test来测试一下是否设置正确,或者直接按下 Add 来登录一个新的连接。

OK,登录好了之后,在连接管理面板里面双击这个链接,就可以打开主界面了。(你也可以选中一个链接,然后按下OK按钮)。

【注意:密码将以明文形式放入Config.xml文件中】

界面基本介绍

界面分为左右两个区域,左边的是连接列表(通常1个连接代表一个服务器,但是连接的概念和服务器的概念并不是等价的)。你可以在这个区域里面看到服务器的大致结构,例如数据库和数据集的整体状况。右边是各种数据库对象的详细信息表示区域,这里可能显示一个数据集的记录,或者显示文件系统和用户系统。在初始化的状态下,这里显示当前连接的状态。

这里我们看到服务器下面有一个local的数据库,现在他是我们唯一拥有的数据库。local数据库下面没有 User,没有GFS(文件系统),没有Javascript文档,没有系统和普通的数据集。说到底,什么都没有。。。

由于local是系统数据库,软件认为不能由用户来操作,所以,我们先要新建一个数据库。我们选中服务器的图标,然后从右键菜单中选择 新建数据库(createNewDatabase),输入数据库名称之后,一个新的数据库就建成了。(由于已经知道的Mongodb的Bug,请使用英文作为数据库名称)。作为例子,我新建了一个Cnblogs的数据库。然后选中这个数据库,右键菜单里面有新建数据集的菜单项(Create New Collection)。

这里的数据集名称,也暂时不要使用中文。关于使用中文数据集名称的Bug,我已经报告Mongo官方了,但是现在还没有修正好。Bug票:https://jira.mongodb.org/browse/SERVER-4412

一般用户,直接填写数据集名称就可以了,一些高级选项,请在知道确切含义后选择。特别是Iscapped属性,用这个属性后,数据集里面的文档(数据)可能无法修改。好了,我们新建一个NoSql的数据集。

如果没有问题,左边的数据库一览的Cnblogs下面将会有一个Nosql数据集挂在一般数据集下面。由于使用了索引,系统数据集里面也会有一个System.index数据集。双击一下这个数据集看看。右边的数据视图将会展示数据集内容,当然现在什么都没有。

尝试加入第一个文档

OK,接下来我们加入一条数据到数据集中,Mongo里面将数据记录叫做 文档。按下工具栏的第一个图标,添加一个文档吧。

这里我们使用Json作为描述文档的语言,它看起来像这样

{
    "Name":"MongoDB","Type":"Nosql"
}

注意:一般我们不用(不能输入)_id这个索引字段,这个是Mongo自动维护的字段。这里我们添加两个字段,一个是Name,值是MongoDB,一个是Type,值是Nosql。

插入成功后,你可以看到第一条记录了。由于时间问题,TreeListView还比较粗糙,有时间再改了。。。。

    (不知道有没有朋友 对于 绘制自定义TreeView 有经验吗,能不能帮忙绘制一下Node的连线和前面的加减号,我画得不是很好)

这里_id是系统自动生成的主键。(一般情况下,这个id不会重复,不过,通过一些方法,是可以让这个id重复的。。。。O(∩_∩)O~)

软件为你准备了3种视图来查看数据:树形视图,列表视图,和Json文本视图。

聚合功能

介绍这个功能前,我们现在数据库里面追加一些数据吧。

我们一共有4条数据,2条Nosql的,2条Sql的数据。

数据统计:Count

这个功能很简单,就是看看数据集里面的文档(数据)件数。

从左边的服务器视图中,选中数据集,在右键菜单中选中聚合(aggregation)菜单项里面的Count功能,记录条数就会以弹出框的形式告诉用户。

数据统计:Distinct

启动Distinct的方法和Count一样,在右键菜单中选中聚合(aggregation)菜单项里面的Distinct功能。这个时候,你需要在弹出窗体里面选择你需要做Distinct的字段名称了。

如果我们以Name做Distinct,结果是4件记录,如果我们以Type做Distinct,结果是2件记录。看了下面的图,我想各位都知道这个结果是怎么得出来的了。

数据统计:Group和MapReduce

暂时不做说明。

简单的查询功能

Nosql的查询功能一直是一个软肋,这里我开发了一个简单的查询器。

例如,我想查找所有的Nosql的数据。那么我们可以使用查询功能,你可以在视图的工具栏里面按下那个双筒望远镜的图标。

然后进行如下设置即可。字段是下拉表里面选中的Type,EQ表示“等于”的意思,然后类型是BsonString,需要等于的值是 “Nosql”

执行这个过滤器后数据就只有2条被表示到数据视图中了。(这个时候如果再使用聚合的话,结果将默认建立在这个过滤器的基础上,这个时候做Count,结果是2)

你可以使用工具栏上的 过滤器图标来切换 数据过滤的启停状态。注意:id字段比较特殊,不能屏蔽。

如何得到Mongocola1.13

你可以从Github下载本软件:https://github.com/magicdict/MagicMongoDBTool/downloads

本软件是开源软件,所以没有任何功能限制。

MongoCola 最新版本:1.13  Mongodb 最新版本 2.0.4 C# Driver 最新版本  1.3.1

MongoCola使用教程 1 - MongoDB的基本操作和聚合功能---Mongdb客户端软件操作说明的更多相关文章

  1. MongoCola使用教程 2 - MongoDB的Replset 初始化和配置

    前言 首先再次感谢博客园的各位朋友.正是你们的关注才让我有信心将这个工具开发下去. 这周同样也有热心网友对于MongoCola存在的问题给予了反馈. 这次工具更新到了版本1.20,强化的地方是增加了R ...

  2. mongodb的基本操作与插入文档(document)

    一.mongodb的基本操作: 1.查看mongodb当前所有的databases : show dbs 2.选择数据库(database) : use databaseName(该数据库不存在则会自 ...

  3. MongoDB入门三步曲2--基本操作(续)--聚合、索引、游标及mapReduce

    mongodb 基本操作(续)--聚合.索引.游标及mapReduce 目录 聚合操作 MapReduce 游标 索引 聚合操作 像大多关系数据库一样,Mongodb也提供了聚合操作,这里仅列取常见到 ...

  4. 【网络爬虫入门05】分布式文件存储数据库MongoDB的基本操作与爬虫应用

    [网络爬虫入门05]分布式文件存储数据库MongoDB的基本操作与爬虫应用 广东职业技术学院  欧浩源 1.引言 网络爬虫往往需要将大量的数据存储到数据库中,常用的有MySQL.MongoDB和Red ...

  5. MongoDB之基本操作与日常维护

    MongoDB基本操作 MongoDB的基本操作主要是对数据库.集合.文档的操作,包括创建数据库.删除数据库.插入文档.更改文档.删除文档.和查询文档. 操作 描述 show dbs 查看当前实例下的 ...

  6. 孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5

    孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5并学习权限设置 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十二天. 今天继续学习mongo ...

  7. 孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4

    孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十一天. 今天继续学习mongoDB的简单操作 ...

  8. 孤荷凌寒自学python第六十四天学习mongoDB的基本操作并进行简单封装3

    孤荷凌寒自学python第六十四天学习mongoDB的基本操作并进行简单封装3 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十天. 今天继续学习mongoDB的简单操作, ...

  9. 孤荷凌寒自学python第六十三天学习mongoDB的基本操作并进行简单封装2

    孤荷凌寒自学python第六十三天学习mongoDB的基本操作并进行简单封装2 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第九天. 今天继续学习mongoDB的简单操作, ...

随机推荐

  1. tornado.web.StaticFileHandler

    tornado.web.StaticFileHandler 源代码中的解释 class StaticFileHandler(RequestHandler): """A s ...

  2. 升级系统到ubuntun到18.04后apt-get执行失败

    系统升级到18.04后执行apt-get install的时候报错 root@zhf-maple:/home/zhf/桌面# apt-get install vim-sciptsE: 无法获得锁 /v ...

  3. LeetCode:二叉搜索树中第K小的数【230】

    LeetCode:二叉搜索树中第K小的数[230] 题目描述 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素. 说明:你可以假设 k 总是有效的,1 ≤ k ...

  4. Libev和LibEvent

    libev和libevent功能基本相同,名称相近,到底该用哪一个呢?zhouhh@zhh64:~$ sudo apt-cache search libeventlibevent-dev – Deve ...

  5. Shell 实现找出两个目录下的同名文件方法

    # 首先我们来创建一些 2 个目录,里面的目录结构及相关文件如下所示: # 从上面的测试目录可以看到, lol.txt lol2.txt 两个文件是两个目录下的同名文件 # 有实际例子,思路就容易出来 ...

  6. String创建方式的区别

    String str0 = "abc"; String str1 = new String("abc"); 第一句执行后,会在String pool中创建一个& ...

  7. 在 React Native 中使用 Redux 架构

    前言 Redux 架构是 Flux 架构的一个变形,相对于 Flux,Redux 的复杂性相对较低,而且最为巧妙的是 React 应用可以看成由一个根组件连接着许多大大小小的组件的应用,Redux 也 ...

  8. 转换数据库连接池为hikaricp

      hikaricp号称是最快的,今天转换过来试试 1.修改配置文件 <!-- Hikari Datasource --> <bean id="dataSource&quo ...

  9. maven说明

    1.maven 仓库地址 http://mvnrepository.com/ 2.maven jar包搜索地址 http://search.maven.org/ 3. 点开上面的 版本链接,就可以看到 ...

  10. SQL查询以某个字母开头

    select * from a where left(a.name, 1)='H'; 或 select * from a where a.name REGEXP ''^(B|S)'';