一、前言

  现在越来越多的公司开始采用非关系数据库了,并且很多公司的面试都要求面试 者有MongoDB的使用经验,至于非关系数据库与关系型数据库之间的区别大家可以自行百度。但是作为程序员的我们,既然大部分公司都需要有NOSQL的 使用经验,自然我们就应该学习起来了。所以也就有了这个系列了。NOSQL包括很多,但是使用最大的还是属于MongoDB和Redis。所以在本系列中 将详细介绍下这两种非关系数据库的环境搭建和一些常规使用。本专题就首先介绍下MongoDB开发环境的搭建和完成一些简单的增删改查操作。下面就随着我 一起去学习吧。

二、MongoDB开发环境搭建

  MongoDB的开发环境的搭建相对来说还是很简单的,尽管说 MongoDB是非关系数据库,但是和关系型数据(如SQL Server)一样,都是用来持久化数据的。自然和非关系型数据目的是一样的,其开发方式也是非常类似的。大家都知道,在对SQL Server进行操作时,需要搭建一个SQL Server服务器,然后用.NET的相关技术充当客户端来对SQL Server服务器进行操作,来完成对数据的持久化保存操作。所以,对于MongDB的开发模式也是一样的,只是它们之间持久化的数据格式不一样而已。 SQL Server等关系型数据库都是以表来保存数据的,而MongoDB等非关系型数据库都是以JSON格式来保存数据的。

  既然,它们的开发模式是一样的,在之前我们对SQL Server操作都是首先需要连接SQL Server服务器,然后本地开发需要引入SQL Server驱动来进行开发。所以MongoDB的开发环境的搭建也不例外。

  首先,我们需要去MongoDB下载MongoDB。下载地址:https://www.mongodb.org/downloads。由于,我的操作系统是32位的,所以我这里下载的版本就是32位3.0.4版本。下载下来后,然后进行解压。

  其实,到这里,MongoDB的开发环境就完成了。这里大家肯定会问,不会
吧,这么快,以前SQL
Server安装程序可是要安装很久的啊,怎么MongoDB这么快就好?此时大家千万不要疑惑,此时开发环境真的已经大家好了。下面就让我们看看如何通
过来完成对MongoDB的增删改查操作。

三、基本操作

  首先,打开命令行工具,然后切换到你MongoDB所在的目录。通过允许mongod.exe程序来启动MongoDB服务器,同时还需要用--dbpath参数来指定数据存放的文件夹。如果不指定参数将不能成功启动MongoDB服务,具体的命令如下图所示:

  通过上图可以看到,我们的MongoDB服务已经启动成功了,MongoDB默认监听的端口就是27017。下面就通过浏览器来验证下MongoDB服务是否启动成功了。输入地址:http://localhost:27017/。打开后,如果看到如下图所示的结果,就表明MongoDB服务已经启动成功了。

  既然,MongoDB服务已经启动了,接下来就需要客户端对服务器进行请求来
完成把数据保存到服务器上。我们同样可以通过命令行的方式来启动MongoDB的客户端,重新打开一个命令行工具,通过mongo.exe命令来启动
MongoDB的客户端。具体命令如下图所示:

  从上图可以看到,客户端默认链接的是"test"数据库,就如SQL Server默认链接的是master数据库一样。既然,我们客户端和服务器都已经准备好了,接下来就需要在客户端通过命令来发出对服务器的请求,来完成增删改查操作。

  数据库我们已经有了,即"test"数据库,按照常规的数据库操作,我们需要
创建一个表,然后往表里插入一条数据。但是在非关系数据库中,并没有表的概念,只有集合的概念,大家可以把非关系数据库中集合的概念理解为关系数据库中表
的一个概念。并且在MongoDB中并不需要单独的创建集合命令,因为在插入的数据的同时也会完成集合的创建。这里把需要创建的集合命名
为"person"。通过insert()方法来完成数据的插入。具体的命令如下图所示:

  通过上面可以看出,我们已经成功像person集合插入了2条记录。可以通过find()方法来查询下集合person中是否现在已经存在2条记录。具体的查找命令如下图所示:

  从图中可以发现,我们确实已经成功插入了2条记录了,并且MongoDB服务已经自动为其加入_id这个字段,该字段的值也是由MongoDB服务默认为我们生成的GUID,来保证数据的唯一性。除此之外,我们还可以指定特定的筛选条件来筛选记录。具体命令如下图所示:

  接下来,我们可以通过update()和remove()方法来完成数据的删除和更新。具体的命令和效果如下图所示:

  update方法的第一个参数为“查询条件”,第二个参数为“更新的值”。remove方法如果不带参数将删除所有数据(db.person.remove( { } ))。带参数指的是“查询条件”,即删除掉查询到的数据。

  通过上面,我们就完成了MongoDB的增删改查操作了。上面,我们是通过命
令行的方式来完成的,但是这样的方式未免有些不方便,此时就想:有没有什么GUI的工具来完成这些操作呢?就如SQL
Server的客户端那样。对于这点,答案是肯定的,这里我用的是“MongoVUE
1.5.3”版本,个人觉得还是蛮还用的,大家可以去百度云盘去下载破解版的。下面让我们通过MongoDB客户端的GUI工具来查询下刚才我们插入的数
据,打开“MongoVUE”工具,然后点Connect按钮来创建链接,连接就如下图所示:

  链接成功之后,我们就可以看到类似SQL Server那样的数据库结构界面了,具体的效果如下图所示:

  并且通过GUI客户端工具可以很方便地完成增删改查操作,而不需要手敲命令去完成。

文章来自:http://www.cnblogs.com/zhili/p/MongodbQuickStart.html

MongoDB GUI管理工具Mongo VUE的更多相关文章

  1. 最佳的MongoDB客户端管理工具

    <最佳的MongoDB客户端管理工具> 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一个好的MongoD ...

  2. mongoDB GUI客户端工具大全

    网易blog - MongoDB GUI客户端工具大全   oschina - MonjaDB 1.0.2 发布,MongoDB 的 GUI 客户端   oschina创建人红薯对MonjaDB官方文 ...

  3. MongoDB 可视化管理工具

    MongoDB 可视化管理工具 (2011年10月-至今)   正文 该项目从2011年10月开始开发,知道现在已经有整整5年了.MongoDB也从一开始的大红大紫到现在趋于平淡.MongoCola这 ...

  4. MongoDB Compass管理工具下载、安装和使用

    内容来自:https://jingyan.baidu.com/article/925f8cb884f6f8c0dce0565a.html ,https://blog.csdn.net/bg101775 ...

  5. MonjaDB —— 基于 Eclipse 的 MongoDB GUI 客户端工具(转载)

    原文链接http://www.oschina.net/question/12_59707 MonjaDB 是一个 MongoDB 的 GUI 客户端工具,提供直观的 MongoDB 数据管理的功能,支 ...

  6. MongoVUE(MongoDB图像管理工具)

    介绍一款很不错的开源的MongoDB图形化管理工具:MongoVUE 下载地址:MongoVUE 1.6.9 破解版

  7. SourceTree - 好用的 Git / Mercurial GUI 管理工具 for Mac OS X

    Git 是免費.開放源碼的分散式版本控制系統,從小專案到非常大的專案,都可以很快速.有效地管理. 對程式設計師來說,一定要熟記 git 指令的用法,在終端機下操作 git 是必備的基本技能.(其他的 ...

  8. [C#项目开源] MongoDB 可视化管理工具 (2011年10月-至今)

    正文 该项目从2011年10月开始开发,知道现在已经有整整5年了.MongoDB也从一开始的大红大紫到现在趋于平淡. MongoCola这个工具在一开始定位的时候只是一个Windows版本的工具,期间 ...

  9. MongoDB 可视化管理工具 MongoCola-1.1.0 测试版发布

    首先,感谢大家对于本工具的支持. 经过一周的努力,最新版的工具测试版出炉了,这个版本是一个很重要的版本. 为什么说这个版本重要?以前的工具,只支持一个视图窗口,也就是说了,一次只能看一个数据集的数据. ...

随机推荐

  1. java进阶计划

    鉴于自己在java 的学习过程中,像是无头苍蝇一样,东扎一把,西戳一下,没有一个明确的方向,也没有一个比较明确的方面,所以有了这个大致的计划. 计划的目标: 1. java本身的目标 对线程(thre ...

  2. 《Unix环境高级编程》环境搭建

    用的是第三版的安装包:src.3e.tar.gz 地址:http://www.apuebook.com/ 1.解压:$ tar  -zxvf  *.tar.gz 2. $ cd apue.3e/ 3. ...

  3. 面试题32.从1到n整数中1出现的次数

    题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.例如输入12,从 1到12这些整数中包含1的数字中1,10,11和12,1一共出现了5次 本题可以直接变量1到n的n个数然后分别计 ...

  4. SRM 599 DIV1

    A 首先发现对于2操作,每种素因子可以单独考虑,然后取出步数最多的计入答案,然后分别加上对每种素因子的1操作; 第二步我犯了个错误,以为最优方案是把素因子指数按二进制操作,在1的位置执行1操作,0的位 ...

  5. (转)iOS7人机界面设计规范 - 目录

    英文原文出自苹果官方的iOS7设计资源-iOS人机界面设计规范(预发布版本),由C7210自发翻译,并首发于Beforweb.com.如需转载,请注明译者及出处信息. UI设计基础 为iOS7而设计 ...

  6. (转)A drop-in universal solution for moving text fields out of the way of the keyboard

    There are a hundred and one proposed solutions out there for how to move UITextField andUITextView o ...

  7. Hadoop Failed to set permissions of path

    在Eclipse里面写了个測试程序:把HDFS中的数据批量导入到HBase中 写好后,在本地測试遇到了例如以下问题: 14/04/21 16:49:53 WARN util.NativeCodeLoa ...

  8. CodeSmith使用总结--调用自定义方法

    上一篇读取了一个表的内容,但是到了真正应用的时候还是不够用的,我们很容易可以对比出来,SQL里边的数据类型的定义和C#中有所不同,比如Saler--String,大写的String在C#中不是一个类型 ...

  9. Sass@规则

    @importSass 支持所有 CSS3 的 @ 规则, 以及一些 Sass 专属的规则,也被称为“指令(directives)”.Sass 扩展了 CSS 的 @import 规则,让它能够引入 ...

  10. C#图像处理(5):无损保存图片

    C#使用默认方法对图像进行保存的时候图像会有损失,以下提供无损保存的方法: /// <summary> /// 无损保存图片 /// </summary> /// <pa ...