1、什么是MongoDB?
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
其术语与关系型数据库的区别,见下图:
2、MongoDB的主要特点
1) MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。
2) 你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
3) 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
4) 如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
5) Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
6) MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
7) Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
8) Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
9) Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
10) GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
11) MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
12) MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
13) MongoDB安装简单。
3、MongoDB的下载
到mongo官网下载mongodb软件。mongodb支持Windows、Linux、OSX、Solaris这四个平台,大家可以根据自己所用系统,
下载对应版本的mongodb。下载的时候,要注意两点:
①:根据业界规则,偶数为“稳定版”(如:2.0.X,2.2.X),奇数为“开发版”(如:2.1.X,2.3.X)。
②:32bit的mongodb最大只能存放2G的数据,64bit就没有限制。
4、MongoDB的安装
以windows平台安装为例
1) 首先要先从网上(http://dl.mongodb.org/dl/win32/x86_64)下载mongoDB的zip包
2) 将zip文件解压放到盘符的根目录(如C:或D:),为了方便建议文件夹命名尽量简短如(d:\mongodb)
3) 创建数据库文件的存放位置,比如d:/mongodb/data/db。启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。
4) 打开cmd(windows键+r输入cmd)命令行,进入D:\mongodb\bin目录(如图先输入d:进入d盘然后输入cd d:\mongodb\bin),
输入如下的命令启动mongodb服务:
D:/mongodb/bin>mongod --dbpath D:\mongodb\data\db
5) mongodb默认连接端口27017,如果出现如图的情况,可以打开http://localhost:27017查看(笔者这里是chrome),
发现如图则表示连接成功,如果不成功,可以查看端口是否被占用。
6) 将MongoDB服务器作为Windows服务运行,这个操作就是为了方便,每次开机MongoDB就自动启动了。
如图在d:\mongodb\data下新建文件夹log(存放日志文件)并且新建文件mongodb.log 在d:\mongodb新建文件mongo.config
7) 用记事本打开mongo.config输入:
dbpath=D:\mongodb\data\db
logpath=D:\mongodb\data\log\mongo.log
8) 用管理员身份打开cmd命令行,进入D:\mongodb\bin目录,输入如下的命令:
mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"
如果失败有可能没有使用管理员身份,遭到拒绝访问。
打开cmd输入services.msc查看服务可以看到MongoDB服务,点击可以启动。