什么是MongoDB
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。
MongoDB 文档(BSON)类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
MongoDB的特点
1. MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。
2. 你可以在MongoDB记录中设置任何属性的索引来实现更快的排序。
3. 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
4. 如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上这就是所谓的分片。
5. MongoDB支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
6. MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
7. MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
8. 安装简单。
9. 其它。
MongoDB监控工具
MongoDB提供了网络和系统监控工具Munin,它作为一个插件应用于MongoDB中。
Gangila是MongoDB高性能的系统监视的工具,它作为一个插件应用于MongoDB中。
基于图形界面的开源工具Cacti, 用于查看CPU负载, 网络带宽利用率,它也提供了一个应用于监控MongoDB的插件。
MongoDB图形用户界面(GUI)工具
1. Fang of Mongo – 网页式,由Django和jQuery所构成。
2. Futon4Mongo – 一个CouchDB Futon web的mongodb山寨版。
3. Mongo3 – Ruby写成。
4. MongoHub – 适用于OSX的应用程序。
5. Opricot – 一个基于浏览器的MongoDB控制台, 由PHP撰写而成。
6. Database Master – Windows的mongodb管理工具。
7. RockMongo – 最好的PHP语言的MongoDB管理工具,轻量级, 支持多国语言。
8. Robomongo – 一个基于 Shell 的跨平台开源 MongoDB 管理工具(个人推荐)。
下载MongoDB
下载地址:http://www.mongodb.org/downloads
这里是在windows平台下安装MongoDB,MongoDB还支持其他平台,如OSX,Linux,Solaris等。
使用的版本是2.6。因为2.6是我最熟悉的版本,并且我使用的GUI工具Robomongo目前还不支持3.0版本。
下载后,按提示进行安装。
准备配置文件及存放目录
配置文件mongod.cfg:
dbpath=C:MongoDBdata
logpath=C:MongoDBlogmongo.log
logappend=true
directoryperdb=true
#auth=true
注1:#号表示注释,这里我们不使用用户验证。
注2:请确保文件中指定的目录存在。
配置文件参数说明:
参数 |
描述 |
--dbpath |
数据文件路径 |
--logpath |
日志文件路径 |
--port |
端口号,默认是27017 |
--logappend |
日志文件循环使用,如果日志文件已满,那么新日志覆盖最久日志 |
--directoryperdb |
设置每个数据库将被保存在一个单独的目录 |
--auth |
用户认证,默认false。不需要认证。当设置为true时候,进入数据库需要auth验证,当数据库里没有用户,则不需要验证也可以操作。直到创建了第一个用户,之后操作都需要验证。 |
--replSet |
集群的名字,如果使用集群,则每个节点都要设置相同名字 |
安装/卸载MongoDB服务
安装:以管理员身份运行CMD,执行以下指令:
sc create MongoDB binPath= "C:Program FilesMongoDB 2.6 Standard Legacyinmongod.exe --config=C:MongoDBmongod.cfg --service"
其中,binPath是MongoDB安装目录bin中的mongod.exe,--config是上面提到的配置文件。
卸载:以管理员身份运行CMD,执行以下指令:
C:Program FilesMongoDB 2.6 Standard Legacyin mongod.exe --remove --serviceName "MongoDB"
启动服务:
安装Robomongo
先下载RoboMongo,然后按提示进行安装,下载地址:https://www.robomongo.org/download
打开RoboMongo:
点击Create,创建一个连接:
创建一个数据库:
在新建的库中执行脚本,右键新建的库,点击“Open Shell”,输入ObjectId()获取一个ObjectId:
执行脚本,往库里插入数据:
双击Country,查看新增的数据:
切换查看视图: