过去一年多,除了自己写了一个系统里捣鼓了点mysql,已经好久没有写数据库相关的代码了。而且之前接触的都是关系型数据库,所以现在选择非关系数据库进行学习拓展,而NoSQL中MongoDB又是其中的佼佼者,故选择其作为学习提升的切入点。
学习任何新的技术知识,可参考以下套路:
在baidu/Google里搜一下,强烈建议学会fan墙,因为很多技术网站官网都是在国外,而我们活在天朝的墙内是无法访问的。
查看官网里介绍,有哪些用途,api及其他信息,尽量看英文原版。
结合搜到关联的学习博客开始自己的学习之路。
Progress 001--MongoDB下载与安装:
1、首先,进入MogonDB官网https://www.mongodb.org/,可以看到主菜单里有learn这一栏,点击进入https://university.mongodb.com/?_ga=1.20703928.1643784090.1435155328,可以看到MongoDB为开发者写了一些学习和使用引导。
2、其在线课程如下,有给Node.js猿猿的,有给.NET猿猿的,当然也不能少了我们爪哇国的小金刚。(详细如下,Node.js是我后期需要学习的,因此这里可以稍微注意下。需要注册账号,for free!!!截止日志发布时间,课程尚未开始。。。)
浏览完学习信息,进入正题。我们需要下载使用需要用到的程序。https://www.mongodb.org/downloads,根据自己的机器选择下载,目前官网版本为3.0.4,关于版本号各位的意义,自行搜索,建议下载稳定版,即中间为偶数的版本。本Monkey使用的是32位windows(比较古老(⊙﹏⊙)b),下载最新版。如果是升级MongoDB,还需要看下change log(升级策略以后涉及继续)。
下载完成后之后,解压等固定步骤,查看百度经验,http://jingyan.baidu.com/article/d5c4b52bef7268da560dc5f8.html,傻瓜式操作即可。
此处赘述如下,
1、建立的存放数据库文件的目录不要在MongoDB软件的子目录下,防止升级数据库或者卸载数据库时误删数据。
如本人安装目录为:
数据存放目录为:
2、进入安装目录的bin下,dos下命令操作,此处只需加上参数即直接可进入不同盘符的文件夹下,后续会整理bat脚本编写。
cd /d %MongoDB%\bin
3、输入如下的命令启动mongodb服务:
mongod --dbpath D:\DataBase\MongoDB\data\db
4、mongodb默认连接端口27017,如果出现如图的情况,可以打开http://localhost:27017查看,发现如图则表示连接成功,如果不成功,可以查看端口是否被占用。
5、设置日志信息:
在各个建立了存放数据文件的目录建立log文件夹,以及mongodb.log及mongo.config文件。
用管理员身份打开cmd命令行,进入D:\company\mongodb-win32-i386-3.0.4\bin目录,输入如下的命令:mongod --config D:\DataBase\MongoDB\data\mongo.config
如图结果存放在日志文件中,查看日志发现已经成功。如果失败有可能没有使用管理员身份,遭到拒绝访问。
6、因为我们在服务器上部署的时候,为避免重启服务器(Windows机器),还需要手工开启数据库的服务,因此一般会将MongoDB设置成Windows服务(参考Mysql处理方式),随机器自动启动。具体操作如下(根据前面设置的配置信息),
mongod --config D:\DataBase\MongoDB\data\mongo.config --install --serviceName "MongoDB"
(不设置配置信息,需要输入全部的命令,mongod --dbpath "D:\DataBase\MongoDB\data\db" --logpath "D:\DataBase\MongoDB\data\log\mongo.log" --install --serviceName "MongoDB")
这里mongo.log就是开始建立的日志文件,--serviceName "MongoDB" 服务名为MongoDB
打开cmd输入services.msc查看服务可以看到MongoDB服务,点击可以启动。
测试能否正常启动/关闭:net start MongoDB/net stop MongoDB
如果想删除服务,mongod --config D:\DataBase\MongoDB\data\mongo.config --remove --serviceName "MongoDB"
综上:已完成MongoDB的下载与安装环境构造。
下节将正式开始MongoDB的CURD操作,当然dos/shell下命令输入操作数据库可能不够直观,可能会考虑引入可是化工具进行MongoDB的操作。
参考博客:
http://www.cnblogs.com/mecity/archive/2011/06/11/2078527.html
http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html
http://database.51cto.com/art/201103/247882.htm
http://jiaoyu.baidu.com/gaokao/forecast?cityid=0&city=%E4%B8%8A%E8%AF%BE%E5%9F%8E%E5%B8%82&subqid=1435577749045429186&page=1&sessionID=12428818838391419955&wd=%E9%AB%98%E8%80%83%E5%BF%97%E6%84%BF%E5%A1%AB%E6%8A%A5%E6%8C%87%E5%8D%97&tn=360se_dg&qid=12428818838391419955&pvid=1435577749045429186&key=&pssid=1462_14732_14444_10812_12868_14662_11793_13936_14924_15963&zt=ps#result-start