MongoDB(1) 简单配置
转自 :http://www.cnblogs.com/yangecnu/archive/2011/07/15/2107872.html
Mongo(也译芒果)名字来自humongous,意思是巨大无比的,极大的。它是一个高性能,开源,无模式的文档型NOSQL数据库。今天参照着官方的QuickStart配置了一下环境。
第一步:下载Mongodb编译好了的版本,本人机器为Win7 32位的专业版本,下载对应的Windows 32-bit版本。本人下载的是:mongodb-win32-i386-2.0.8.zip
第二步:将下载的Zip文件解压,修改文件夹名称,名称遵循一般的文件命名规则即可,将其修改为 mongodb,解压后的文件放在C:\mongodb中,然后建立一个存放mongodb数据的文件夹,本人建立的文件夹为c:\data\db。
(当然,你也可以采用bat文件的形式,在命令行提示符输
- md C:\data\db
然后,你就可以在当前驱动下查找到两个文件夹,分别命名为data和db
第三步:以管理员身份运行 cmd(只是针对Win7系统),将当前目录cd到c:\mongodb\bin 下面,然后运行
c:\mongodb\bin>mongod.exe --dbpath c:\data\db, 目的是 :设置数据库存放路径。成功后会出现下面的界面: 图中Note:提示,在32为系统中使用MongoDB,数据库大小限制为2G.
第四步:注意上面的这个CMD窗口不要关,否则 Mongdb服务就会关闭(mondodb.exe)。
第五步:再次以管理员身份打开一个CMD窗口。在里面输入
c:\mongodb\bin>mongo 如果出现图,说明默认的test数据库连接成功。同时,在后台的cmd中也可以看到前台连接信息。
环境搭建好了之后,我们就可以开始试验了。
【例1】
在cmd中输入以下命令:
2 C:\mongodb\bin> mongo
3 > // the mongo shell is a javascript shell connected to the db
4 > // by default it connects to database 'test' at localhost
5 > 3+3
6 6
7 > db
8 test
9 > // the first write will create the db:
10 > db.foo.insert( { a : 1 } )
11 > db.foo.find()
12 { "_id" : ObjectId("4e2053a6b3fcd89b00572c2f"), "a" : 1 }
14 >admin (empty)
16 test 0.03125GB
其中,db显示当前正在使用的数据库。db.foo.insert({a:1}),表示向当前db,test下建立一个集合foo,并向其中添加一条记录。
【例2】
输入下列指令:
switched to db mydb
> j={name:"mongo"};
{ "name" : "mongo" }
> t={x:3};
{ "x" : 3 }
> db.things.save{j};
Fri Jul 15 22:56:57 SyntaxError: missing ; before statement (shell):1
> db.things.save(j);
> db.things.save(t);
> db.things.find();
{ "_id" : ObjectId("4e205546b3fcd89b00572c31"), "name" : "mongo" }
{ "_id" : ObjectId("4e20554fb3fcd89b00572c32"), "x" : 3 }
use mydb表示切换到mydb这个数据库中,在mongodb中数据库或者集合可以不事先创建,待数据插入操作执行时才创建。(这个是比较强大的一点)
需要注意的一个地方是: Fir Jul 15 ...... Before statement (shell ):1
我在执行net start MongoDB时也出现了这个问题!!
【例3】
上面的语句在mydb下的things这个Collection中插入了两条记录,现在我们利用循环插入更多条记录。
> db.things.find()
{ "_id" : ObjectId("4e205546b3fcd89b00572c31"), "name" : "mongo" }
{ "_id" : ObjectId("4e20554fb3fcd89b00572c32"), "x" : 3 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c33"), "x" : 4, "j" : 1 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c34"), "x" : 4, "j" : 2 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c35"), "x" : 4, "j" : 3 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c36"), "x" : 4, "j" : 4 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c37"), "x" : 4, "j" : 5 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c38"), "x" : 4, "j" : 6 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c39"), "x" : 4, "j" : 7 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c3a"), "x" : 4, "j" : 8 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c3b"), "x" : 4, "j" : 9 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c3c"), "x" : 4, "j" : 10 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c3d"), "x" : 4, "j" : 11 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c3e"), "x" : 4, "j" : 12 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c3f"), "x" : 4, "j" : 13 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c40"), "x" : 4, "j" : 14 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c41"), "x" : 4, "j" : 15 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c42"), "x" : 4, "j" : 16 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c43"), "x" : 4, "j" : 17 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c44"), "x" : 4, "j" : 18 }
has more
> it
{ "_id" : ObjectId("4e205693b3fcd89b00572c45"), "x" : 4, "j" : 19 }
{ "_id" : ObjectId("4e205693b3fcd89b00572c46"), "x" : 4, "j" : 20 }
我们通过循环语句插入了20条记录,但是显示的的只有18条,如果要显示剩余的,在命令行中敲入it就可以显示余下的。
另外,转一篇怎样将设置启动项变为一项Windows服务的办法
每次开机运行都需要在(cmd)下面手动输入
E
cd E:\APMServ5.2.6\MongoDb\bin
mongod --dbpath E:\APMServ5.2.6\MongoDb\data
这样感觉非常麻烦,所以将Mongo数据库安装成为Windows服务。如此就方便很多啦
E:\APMServ5.2.6\MongoDb\bin>mongod --logpath E:\APMServ5.2.6\MongoDb\logs\MongoDB.log --logappend --dbpath E:\APMServ5.2.6\MongoDb\data --directoryperdb --serviceName MongoDB --install
回车显示如下便是服务安装成功
all output going to: E:\APMServ5.2.6\MongoDb\logs\MongoDB.log
Creating service MongoDB.
Service creation successful.
Service can be started from the command line via 'net start "MongoDB"'.
强调
1:log一定要指定一个xxx.log文件(文件不存在也要这么写,会自动创建,写成这样是不可以的--logpath d:\mongodb\logs)
2:serviceName的N字母要大写
注意:这条命令要到MongoDB的bin目录下运行,刚开始的时候,我就直接在D:\下运行,结果服务的可执行目录为【"D:\mongod" --logpath "D:\MongoDB\logs\MongoDB.log" --logappend --dbpath "D:\MongoDB\data" --directoryperdb --service 】,肯定是不对的。
该命令行指定了日志文件:E:\APMServ5.2.6\MongoDb\logs\MongoDB.log,日志是以追加的方式输出的;
数据文件目录:E:\APMServ5.2.6\MongoDb\data,并且参数--directoryperdb说明每个DB都会新建一个目录;
Windows服务的名称:MongoDB;
以上的三个参数都是可以根据自己的情况而定的,呵呵。
最后是安装参数:--install,与之相对的是--remove
启动MongoDB:net start MongoDB
停止MongoDB:net stop MongoDB
删除MongoDB:sc delete MongoDB
或
运行→regedit→注册表编辑器→HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services 下面显示的就是所安装的服务项,删除相应的就好
mongod --logpath E:\APMServ5.2.6\MongoDb\logs\MongoDB.log --logappend --dbpath E:\APMServ5.2.6\MongoDb\data --directoryperdb --serviceName MongoDB --install