前言

在开始正文之前,感谢博客园的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

未完待续

3月31日,MongoDB在上海召开技术者大会,有人去吗?详细情况:http://www.10gen.com/events/mongodb-shanghai

转载于:https://www.cnblogs.com/TextEditor/archive/2012/03/22/2410072.html

MongoCola使用教程 1 - MongoDB的基本操作和聚合功能相关推荐

  1. [ mongoDB ] - mongoDB的基本操作

    mongoDB的基本操作 强烈推荐参考官方用户手册: http://www.mongodb.org/display/DOCS   1)插入(insert) 插入的value是json对象,以下示例循环 ...

  2. MongoDB 教程七: MongoDB和PHP结合开发

    视频:MongoDB 教程七: MongoDB和PHP结合开发 Linux上安装 MongoDB PHP扩展 在终端上安装 你可以在linux中执行以下命令来安装MongoDB 的 PHP 扩展驱动 ...

  3. MongoDB 教程六: MongoDB管理:数据导入导出,数据备份恢复及用户安全与认证

    视频地址:MongoDB 教程六: MongoDB管理:数据导入导出,数据备份恢复及用户安全与认证 MongoDB数据库备份与恢复 一.备份 先介绍下命令语法: mongodump -h dbhost ...

  4. MongoDB 教程五: MongoDB固定集合和性能优化 (索引Indexes, 优化器, 慢查询profile)

    mongodb索引详解(Indexes) 索引介绍 索引在mongodb中被支持,如果没有索引,mongodb必须扫描每一个文档集合选择匹配的查询记录.这样扫描集合效率并不高,因为它需要mongod进 ...

  5. MongoDB 教程五: MongoDB固定集合和性能优化

    MongoDB 固定集合(Capped Collections) MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环 ...

  6. [MongoDB] MongoDB的基本操作以及文档的增删改查

    参考视频 链接:https://pan.baidu.com/s/1tAWPEC8yppyrPupkUFdCWQ 提取码:gdn8 MongoDB的基本操作 基本概念 生活中:仓库.架子.物品 计算机: ...

  7. MongoDB 学习-MongoDB 的基本操作(二)

    1 MongoDB 的简介 MongoDB 是由C++编写的NOSQL 非关系型数据库,是非关系型数据库中最像关系型数据库的NoSQL 数据库. 2 MongoDB 和 关系型数据库对比 MongoD ...

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

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

  9. 头歌 MongoDB 数据库基本操作

    MongoDB 数据库基本操作 第1关:数据库创建 第2关:创建集合 第3关:文档操作一 第4关:文档操作二 第1关:数据库创建 pgrep mongo -l mongo use mydb db.my ...

最新文章

  1. 如何挖掘消费者的隐性需求?
  2. 完全卸载 RAC_clusterware的方法
  3. SAP UI5 初学者教程之应用开发 - 过滤器 filter 的开发和使用
  4. web api开启错误提示_当HTTP状态代码不足时:处理Web API错误报告
  5. 演示:Linux工程环境应用实训(防火墙、NAT、静态路由)详细配步骤
  6. React 项目开发问题积累
  7. AjaxPro.dll和AjaxPro.2.dll的web配置方法
  8. 一文理解JDK静态代理、JDK动态代理、Cglib动态代理
  9. 关于《HTTP权威指南》
  10. Android 打开WIFI并快速获取WIFI的信息
  11. html制作跑马灯,html跑马灯制作
  12. linux系统下,我也用虚拟机——linux虚拟机随笔
  13. 个人网站音乐服务器,自己的私人音乐流媒体服务,这才是多少音乐者的梦寐以求的...
  14. 植物摄影——顶尖高手传授独门秘技
  15. C# 使用Emit深克隆
  16. python ean13条形码的验证_(转)基于SQL的EAN13、ENA8条形码校验位生成
  17. linux 下查看机器配置命令
  18. pandas如何快速添加一行?
  19. 两台深信服防火墙主备部署在出口,前置两台运营商线路接入交换机场景的配置方法
  20. java_大数据_Hadoop_yarn_hive_sqoop

热门文章

  1. 前馈神经网络——深度学习之神经网络核心原理与算法
  2. siesta在Linux运行,siesta-3.0-b
  3. 自适应滤波器设计及matlab实现,(终稿)自适应滤波器设计及Matlab实现.doc(OK版)...
  4. sonarqube怎么分析php项目,SonarQube代码质量分析平台介绍
  5. 软考网络工程师学习笔记3-广域通信网
  6. 条件渲染-v-if // v-else // v-else if // v-show
  7. 「雕爷学编程」Arduino动手做(19)—震动报警模块
  8. go语言结构体作为函数参数,采用的是值传递
  9. linux命令大全网址
  10. java 集合类 *****