博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安装MongoDB(做成Windows服务)并加载C#驱动程序
阅读量:5068 次
发布时间:2019-06-12

本文共 2917 字,大约阅读时间需要 9 分钟。

一 Mongodb简介:

    通过查询网上的一些信息来介绍一下Mongodb的优势MongoDB是一个面向文档的数据库,目前由10gen开发并维护,它的功能丰富,齐全,完全可以替代MySQL。在使用MongoDB做产品原型的过程中,我们总结了MonogDB的一些亮点:

     1  使用JSON风格语法,易于掌握和理解:MongoDB使用JSON的变种BSON作为内部存储的格式和语法。针对MongoDB的操作都使用JSON风格语法,客户端提交或接收的数据都使用JSON形式来展现。相对于SQL来说,更加直观,容易理解和掌握。

     2 Schema-less,支持嵌入子文档:MongoDB是一个Schema-free的文档数据库。一个数据库可以有多个Collection,每个Collection是Documents的集合。Collection和Document和传统数据库的Table和Row并不对等。无需事先定义Collection,随时可以创建。Collection中可以包含具有不同schema的文档记录。 这意味着,你上一条记录中的文档有3个属性,而下一条记录的文档可以有10个属性,属性的类型既可以是基本的数据类型(如数字、字符串、日期等),也可以是数组或者散列,甚至还可以是一个子文档(embed document)。这样,可以实现逆规范化(denormalizing)的数据模型,提高查询的速度。图1 MongoDB是一个Schema-free的文档数据库图2是一个例子,作品和评论可以设计为一个collection,评论作为子文档内嵌在art的comments属性中,评论的回复则作为comment子文档的子文档内嵌于replies属性。按照这种设计模式,只需要按照作品id检索一次,即可获得所有相关的信息了。

    3 在MongoDB中,不强调一定对数据进行Normalize ,很多场合都建议De-normalize,开发人员可以扔掉传统关系数据库各种范式的限制,不需要把所有的实体都映射为一个Collection,只需定义最顶级的class。MongoDB的文档模型可以让我们很轻松就能将自己的Object映射到collection中实现存储。图2 MongoDB支持嵌入子文档简单易用的查询方式:MongoDB中的查询让人很舒适,没有SQL难记的语法,直接使用JSON,相当的直观。对不同的开发语言,你可以使用它最基本的数组或散列格式进行查询。配合附加的operator,MongoDB支持范围查询,正则表达式查询,对子文档内属性的查询,可以取代原来大多数任务的SQL查询。CRUD更加简单,支持in-place update:只要定义一个数组,然后传递给MongoDB的insert/update方法就可自动插入或更新;对于更新模式,MongoDB支持一个upsert选项,即:“如果记录存在那么更新,否则插入”。MongoDB的update方法还支持Modifier,通过Modifier可实现在服务端即时更新,省去客户端和服务端的通讯。这些modifer可以让MongoDB具有和Redis、Memcached等KV类似的功能:较之MySQL,MonoDB更加简单快速。

二  安装Mongodb

    在安装Mongodb之前首先下载Mongodb然后再进行安装

    2.1  下载源文件    

    MongoDB的官网是:

    MongoDB最新版本下载在官网的DownLoad菜单下: 

    我选择的是Windows 32-bit 2.6.6版本

    MongoDB For .net 驱动开发包位于官网的Driver菜单下(含其它语言开发链接):

    本人操作系统为Windows7 专业版,选择MongoDB版本为Windows 32-bit 1.8.1,开发包为VS2012版本,下载之后的源文件为:mongodb-win32-i386-2.6.6.zip

    同时我们也可以看看在解压后的bin目录下面都有些什么:    

       2.2 安装数据库

       这里我们将数据库安装到本机的F盘中,当然我们也可以根据需要装在任意一个盘中。这里我们需要创建一下文件夹:

       F:\mongodb\data\db  在mongodb文件夹下面创建data文件夹,并在data的下面创建db文件夹,这些文件夹非常重要,主要是用来存放数据库数据文件的。

       F:\mongodb\logs\mongodb.log 在mongodb文件夹下面创建logs文件夹,并在该文件夹下面创建mongodb.log文件,这个文件夹主要是存放系统日志文件,这几个文件      夹是必须手动进行创建的。

     2.3 启动Mongodb

     进入dos环境,进入F:\mongodb\data\db 文件夹,使用mongod.exe工具来启动Mongodb,启动的命令是:mongodb --dbpath F:\mongodb\data\bin ,这个目录就是        我们刚才创建的目录,这样我们就能够启动Mongodb,并启动监听,我们也可以测试数据库是否启动,在浏览器输入:http://localhost:27017/,可以看到如下提示:

     You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number  看到这样的提示我们的数据库就能成        功进行监听。

     2.4 安装成Windows服务

           如果每一次启动该数据库的时候都要采用这种方式的话,会非常麻烦,所以我们考虑将其安装成Windows服务。     

    运行cmd.exe

    > cd f:

           > cd F:\mongodb\bin

    > F:\mongodb\bin>mongod --dbpath F:\mongodb\data\db --logpath  F:\mongodb\logs\mongodb.log --install --serviceName "MongoDB"

           这里mongodb.log就是开始建立的日志文件,--serviceName "MongoDB" 服务名为MongoDB

           启动创建的MongoDB服务

           net start MongoDB (启动MongoDB服务)  net stop MongoDB (停止MongoDB服务)  然后在服务中查看是否启动了该项服务,这样每次开机之后,就会启动该服务              来运行该服务,而不必每次启动该服务。           

 

       这里需要特别注意的是:在我的计算机中打开cmd的时候必须以管理员权限打开,然后执行相关的代码才能正确创建Windows服务,这点特别需要注意,在不同的Windows操作系统中,可能赋予的权限不同,如果不以管理员权限打开cmd,然后运行这些程序的话,在logs\Mongodb.log中会出现“拒绝访问”的提示,这个需要引起注意。

转载于:https://www.cnblogs.com/seekdream/p/5079233.html

你可能感兴趣的文章
Ajax中文乱码问题解决方法(服务器端用servlet)
查看>>
jPlayer插件的使用
查看>>
会计电算化常考题目一
查看>>
theme-windowAnimationStyle 动画四个方法的意义
查看>>
小菜的一天 做开发一个半月了写点感悟
查看>>
js之序列化、eval和Date类用法
查看>>
jquery ajax发送FormData
查看>>
多态:抽象类、接口
查看>>
[再寄小读者之数学篇](2014-06-22 最大值点处导数为零的应用 [中国科学技术大学2012 年高等数学B考研试题])...
查看>>
jdk5升8问题记录-Spring2升4
查看>>
十六进制转八进制
查看>>
python 快速排序
查看>>
JQ延迟对象
查看>>
判断UserAgent是否为手机
查看>>
使用NDK移植开源项目,JNI的使用技巧
查看>>
史上最全的Android开发索引帖
查看>>
配置并使用Android支持的库
查看>>
让Oracle的 SHOW PARAMETER 命令显示隐藏参数
查看>>
Spring与Mybatis三种常用整合方法(一闪而过)
查看>>
好程序员web前端教程之CSS3渐变
查看>>