一.简单介绍
MongoDB一种非关系型数据库(NoSql)。是一种强大、灵活、可扩展的数据存储方式。由于MongoDB是文档模型,自由灵活非常高,能够让你在开发过程中畅顺无比,对于大数据量、高并发、弱事务的互联网应用。MongoDB能够应对自如,MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,还对MapReduce式聚合的支持,以及对地理空间索引的支持。
二.安装与配置
1.下载安装
http://www.mongodb.org/downloads
我的系统是Windows7 32位,所以我下载相应的版本号mongodb-win32-i386-2.6.8.zip
2.安装和配置
第一步:解压到一个盘上,比如我的解压的文件夹D:mongodb,如图所看到的:
第二步:配置存放日志和数据的文件夹。不然mongoDB启动不起来。如图所看到的:
我们先执行cmd.exe进入dos命令界面,然后进入cd D:mongodbin文件夹下,我们接下来我们要进行配置存放日志和数据的文件夹的文件,我们通过帮助命令来查看哪些命令,如图所看到的:
我们从中找到了(1)--logpath arg: arg是设置存放日志的路径(2)--dbpath arg:arg是存放数据文件的路径
先配置数据的文件夹,比如我想存放在D:mongodbdatadb这个文件夹下。我们在执行cmd.exe进入dos命令界面,然后进入cd D:mongodbin文件夹下,执行mongod.exe命令,如图所看到的:
说明:报错是由于须要我们手动先创建D:mongodbdatadb的文件路径,我们创建好路径在执行一次,这回成功了,如图所看到的:
配置日志路径,比如我想存放在D:mongodbdatalog 这个文件夹下,我们在执行cmd.exe进入dos命令界面,然后进入cdD:mongodbin文件夹下,执行mongod.exe命令mongod.exe --logpath=D:mongodbdatalogmongodb.log ,如图所看到的:
第三步:測试一下是否配置正常
我们在执行cmd.exe进入dos命令界面,然后进入cd D:mongodbin文件夹下。执行mongo命令,測试一下连接。如图所看到的:
出现错误
说明:没有启动server,我们须要自己配置MongoDBserver。我们在D:mongodb文件夹下,创建一个mongodb.config 配置文件。有两个属性logpath和dbpath,分别设定值。就是刚才我们配置的路径,如图所看到的:
mongod.exe --config d:mongodbmongodb.config来启动MongoDBserver,--config 选项表示启动时通过d:mongodbmongodb.config配置文件的信息配置server。
如图所看到的:
这个dos命令界面先不要关闭,MongoDBserver在执行。我在新打开一个dos命令界面,先进入到cd D:mongodbin文件夹下,然后在执行mongo命令測试一下链接。如图所看到的:
三.加入MongoDB到Windows Service
我们当我们把执行MongoDBserver的dos命令界面关掉,这样我们就不能链接MongoDB。我们须要像mySql那样。加入到Windows Service。然后在命令行上启动服务和关闭服务,这样方便我们操作和管理服务。
我们接下来须要把MongoDB到Windows Service,用到的命令是--install设定安装MongoDB为server到Windows Service
第一步:执行—install,以管理员的启动cmd, 进入dos命令界面,先进入到cd D:mongodbin文件夹下。执行
D:mongodbin>mongod.exe--dbpath=d:mongodbdatadb --logpath=d:mongodbdataloglog.txt --install --serviceName "MongoDB" 如图所看到的:
第二步:启动/关闭MongoDB服务
netstart mongodb 启动MongoDB服务
net stop mongodb 启动MongoDB服
四:測试一下MongoDB的shell
第一步:执行cmd.exe, 进入dos命令界面。先进入到cd D:mongodbin文件夹下,执行mongo命令。进入shell,查看数据库show dbs,如图所看到的:
第二步:切换并产生数据库
在切换数据库时,假设数据库不存在,则直接产生数据库。use test:如图所看到的:
第三步:创建了一个集合并保存了数据
创建了名为zhengcy的集合
db.zhengcy.insert({username:'zcy'})
第三步:查找zhengcy集合全部的数据
db.zhengcy.find()