【IT168 专稿】目前,NOSQL在业界正发展的如火如荼,其中Mongodb是其中十分优秀的一员,MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。在本系列教程中,将分三部分指导对Mongodb的学习,在第一部分中,将简单介绍Mongodb的安装和基本使用方法,在第二部分中,将介绍Java对Mongodb的编程操作,在第三部分中,将介绍Spring对Mongodb的编程操作。 Mongodb在Windows上的安装 首先,我们到Mongodb的官方网站http://www./downloads下载,下载的版本目前是1.8.1,下载后,解压到文件夹,比如C:\mongodb-win32-1.8.1。接下来,我们可以观察下,该文件夹下有如下文件: 
可以看到,mongodb可谓十分简单,只有10个文件。接下来,我们创建一个数据库文件存放的目录,这里设定为c:\mymongodb。然后可以在命令行方式下启动mongodb了,运行如下命令:  C:\mongodb -win32 -1.8. 1\bin >mongod --dbpath "c:\mymongodb"
 当出现如下提示信息时,即代表已经成功启动了mongodb   Fri Apr 29 17: 15: 34 [initandlisten] MongoDB starting :  pid =5280 port =27017 dbpath =c:\mymongodb 32-bi  ...  Fri Apr 29 17: 15: 34 [initandlisten] waiting for connections on port 27017 Fri Apr 29 17: 15: 34 [websvr] web admin interface listening on port 28017 在上面的信息中,我们注意到,mongodb在端口27017进行了监听来自客户端的连接,而在28017端口,则启用了web界面的管理工具,因此我们可以通过http://localhost:28017进行访问,可以看到如下的界面:  ▲点击查看大图
接下来,我们学习下,如何将mongodb安装成windows 中的服务,首先我们在mongodb下,可以通过—help选项,查看相关的帮助指令,如下: 可以看到,--install和—remove两个参数正是我们需要的。因此,将mongodb安装成windows服务的命令如下:  mongod --dbpath "c:\mymongodb" --logpath "c:\mymongodb\logs.txt" --install --serviceName "MongoDB" 上面的命令行中,用—dbpath参数指出了数据库的目录,--logpath则指出了日志存放的目录,而—serviceName参数则指出了,命名安装的服务名为MongoDB,运行后有如下提示: all output going to: c:\mymongodb\logs.txt  Creating service MongoDB.  Service creation successful.  Service can be started from the command line via 'net start "MongoDB"'. 并且可以在windows的控制面板中的服务中,看到该服务。而卸载服务的命令也很简单,如下:  mongod --remove --serviceName "MongoDB"
在Ubuntu上安装Mongodb Ubuntu是目前十分受欢迎的UNIX系统的之一,本文将介绍如何在Ubuntu上进行安装mongodb。步骤如下: 1) 首先将如下的语句添加到/etc/apt/sources.list文件的最末,以便将包含最新版本的mongodb发行包进行下载deb http://downloads-distro./repo/ubuntu-upstart dist 10gen,修改后的sources.list文件如下:  #...content omitted ...  ## This software is not part of Ubuntu, but is offered by third -party  ## developers who want to ship their latest software.  deb http: //extras.ubuntu.com /ubuntu natty main  deb -src http: //extras.ubuntu.com /ubuntu natty main  #mongo repo ###############new line  deb http: //downloads -distro. /repo /ubuntu -upstart dist 10gen 2) 更新包  sudo apt -get update 3) 增加GPG KEY 10gen 包需要GPG KEY,因此需要导入:  sudo apt -key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 4)安装 mongodb-10gen 一切准备好后,就可以安装了,命令如下:  sudo apt -get install mongodb -10gen 5) 修改相关设置 在ubuntu下,启动mongodb的脚本文件在/etc/init/mongo和/etc/init.d/mongo中可以找到,同时,会把mongodb下的所有文件复制到/usr/bin目录下。而主要的配置文件mongodb.conf则在/etc/mongodb.conf下,可以根据需要进行一些修改,如下: 6) 验证安装 为了验证安装,只需要在客户端尝试连接就可以了,如下:  $ mongo  MongoDB shell version: 1.8. 1 connecting to: test >
创建Mongodb数据库 由于Mongodb不是关系型数据库文件,实际上,它并不存在传统关系型数据库中的所谓“数据库”的概念,但不用担心,当你第一次新增数据时,mongodb就会以collection集合的形式进行保存和新建,而不需要你手工去新建立。下面是例子: 1)列出当前的数据库  MongoDB shell version: 1.8. 1 connecting to: test > show dbs  admin 0.03125GB  local (empty) 可以使用show dbs 来列出当前有多少个数据库,上面看到的是有两个,分别是admin和local。 2) 定义新的数据库名 我们通过使用“use new-databasename”的语法去使用一个新的数据库,注意,即使你的数据库还没建立起来,依然可以这样使用,因为mongodb会在真正插入了数据后,才会真正建立起来。 > use mkyongdb  switched to db mkyongdb > show dbs  admin 0.03125GB  local (empty) 注意,在use mkyongdb后,mkyongdb实际上还没真正建立起来,只是表明目前是在使用mkyongdb了。 3)保存数据 定义一个collection,名为“users”,然后插入数据,如下: > db.users. save( {username:"mkyong"} ) > db.users.find()  { "_id" : ObjectId("4dbac7bfea37068bd0987573"), "username" : "mkyong" } > > show dbs  admin 0.03125GB  local (empty)  mkyongdb 0.03125GB 可以看到,用db.users.find()可以找出已插入的数据。这个时候,名为“users”的collection已经建立起来了,同时,数据库mkyongdb也建立起来了。 修复mongodb数据库 当mongodb发生问题时,就要修复其数据库,比如遇到以下的信息: ************** old lock file: \data\db\mongod.lock. probably means unclean shutdown recommend removing file and running --repair
 see: http: //dochub. /core /repair for more information ************* Mon May 09 12: 37: 43 [initandlisten] exception in initAndListen std::exception: old lock file,  terminating  Mon May 09 12: 37: 43 dbexit:  Mon May 09 12: 37: 43 [initandlisten] shutdown: going to close listening sockets...  Mon May 09 12: 37: 43 [initandlisten] shutdown: going to flush diaglog...  Mon May 09 12: 37: 43 [initandlisten] shutdown: going to close sockets...  Mon May 09 12: 37: 43 [initandlisten] shutdown: waiting for fs preallocator...  Mon May 09 12: 37: 43 [initandlisten] shutdown: closing all files...  Mon May 09 12: 37: 43 closeAllFiles() finished  Mon May 09 12: 37: 43 dbexit: really exiting now 那么这个时候,可以采用如下方法去修复它:  找到\data\db\mongod.lock这个文件,删除它  采用mongod –repair命令进行修复  Mon May 09 12: 42: 57 [initandlisten] db version v1. 8.1, pdfile version 4.5 //......  Mon May 09 12: 42: 57 [initandlisten] shutdown: going to close listening sockets...  Mon May 09 12: 42: 57 [initandlisten] shutdown: going to flush diaglog...  Mon May 09 12: 42: 57 [initandlisten] shutdown: going to close sockets...  Mon May 09 12: 42: 57 [initandlisten] shutdown: waiting for fs preallocator...  Mon May 09 12: 42: 57 [initandlisten] shutdown: closing all files...  Mon May 09 12: 42: 57 closeAllFiles() finished  Mon May 09 12: 42: 57 [initandlisten] shutdown: removing fs lock...  Mon May 09 12: 42: 57 dbexit: really exiting now 小结 在本文中,简单为大家介绍了Mongodb在widnows下和Linux下的安装和一些基本操作,在下一篇教程中,将学习如何使用Java对Mongodb进行操作,敬请期待。
|