codecamp

专题一:MongoDB快速入门

一、前言

   现在越来越多的公司开始采用非关系数据库了,并且很多公司的面试都要求面试者有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服务已经启动成功了。

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

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

四、通过C#来操作MongoDB

   上面已经介绍了通过命令行和客户端GUI工具来完成对MongoDB的操作,但是实际开发过程中,我们用的更多还是通过代码来完成数据的持久化。下面就简单介绍下,如果通过C#语言来完成对MongoDB的增删改查操作。

  同样,我们用C#来操作MongoDB,一样也需要启动MongoDB服务器,只有服务启动了,我们才能对其操作,说白了我们的程序就是充当一个客户端,然后通过C#语言来发送命令让MongoDB服务器执行相应的增删改查操作,但是之前MongoDB服务宿主在控制台中的,这样的宿主方式太过于麻烦了。因为每次服务重启之后,还需要手动通过命令行方式来启动服务。然而服务一般都是让其自启动的。所以MongoDB服务也可以宿主支持宿主在Windows服务中。首先,以管理员权限启动命令行,然后输入如下命令来将MongoDB宿主在Windows服务中:

mongod --dbpath=F:\Study\No-Sql\MongoDB\data --logpath=F:\Study\No-Sql\MongoDB\log\mongolog.txt --port 2322 --install.

具体的运行效果如下图所示:

专题二:Redis快速入门
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }