go4321 发表于 2015-7-8 02:07:41

MongoDB(1) 简单配置

  转自 :http://www.iyunv.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中输入以下命令:



1 C:\> cd \mongodb\bin
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 }
13 > show dbs
14 >admin   (empty)
15local   (empty)
16test    0.03125GB

  其中,db显示当前正在使用的数据库。db.foo.insert({a:1}),表示向当前db,test下建立一个集合foo,并向其中添加一条记录。
  【例2】
  输入下列指令:



> use mydb
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中插入了两条记录,现在我们利用循环插入更多条记录。



> for(var i=1;i 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
页: [1]
查看完整版本: MongoDB(1) 简单配置