Window下的安装
第一步:下载MongoDB,如果你的操作系统是32位下载32位版本,否则下载64位版本。
第二步:打开下载的压缩文档,将压缩文档中的文件夹解压到你想要存放的地点。为了方便,解压缩后将文件夹重命名为mongodb,站长的安装目录为D:\Program Files (x86)\Web\mongodb,此目录应该包含一个bin目录和3个文本文件。
第三步:在mongodb目录中创建子目录data,在data目录中创建子目录db,mongodb的数据库文件默认位于data/db目录,但是它不会自动创建,应此你必须自己来。
第四步:从开始菜单打开cmd,定位到D:\Program Files (x86)\Web\mongodb\bin目录,输入命令:mongod --dbpath ../data/db
启动mongodb,注意必须指定数据库文件目录,否则会提示找不到/data/db目录。启动成功后,访问http://localhost:28017/就可以看见mongodb的控制面板。
第五步:每次启动都要输入命令太麻烦了,让我们将它安装为windows服务。首先,在mongodb目录新建一个日志文件夹,站长将其命名为 log,你可以随意,在log文件夹中新建一个文档来记录日志,站长将其命名为log.log,你也可以随意。确保你建立了日志文件夹和日志文件,否则在 安装服务时可能会出现错误。
使用管理员身份打开cmd,定位到D:\Program Files (x86)\Web\mongodb\bin目录,输入mongod --logpath "D:\Program Files (x86)\Web\mongodb\log\log.log" --logappend --dbpath "D:\Program Files (x86)\Web\mongodb\data\db" --directoryperdb --install
。
成功后,默认的服务名为MongoDB,可以使用net start MongoDB命令来启动MongoDB数据库了。要停止,使用net stop MongoDB。
由于站长的Program Files (x86)目录含有空格,应此必须用引号将路径引起来,如果你的路径没有空格,则不需要如此操作,另外,在站长没有安装服务前,使用相对路径../data/db可以启动mongodb,但是在安装服务时,使用相对路径却不行。
如果你要重新安装服务,只要将--install
改成--reinstall
就行了,相应的删除服务用--remove
。
如果你想要自定义一个服务名,可以先用--remove
命令,删除服务。然后使用mongod --logpath "D:\Program Files (x86)\Web\mongodb\log\log.log" --logappend --dbpath "D:\Program Files (x86)\Web\mongodb\data\db" --directoryperdb --serviceName mongodb --install
来安装,现在新的服务名为mongodb,使用net start mongodb来启动。
或者,使用mongod --logpath "D:\Program Files (x86)\Web\mongodb\log\log.log" --logappend --dbpath "D:\Program Files (x86)\Web\mongodb\data\db" --directoryperdb --serviceName mongodb
直接重新安装,现在新的服务名为mongodb,使用net start mongodb来启动。
以上就是win7下安装mongodb的主要步骤,复制以上命令时,请注意空格。
需要着重说明的是:如果你的路径中包含空格,一定要用引号引起来。
最后,让我们运行一个php手册提供的小示例:
<?php// 连接数据库,确保mongodb服务已经启动
$m = new Mongo();//选择一个数据库,如果没有,mongodb将会自动创建
$db = $m->comedy;
// 选择一个集合,在mongodb中集合类似于表
$collection = $db->cartoons;
//添加一条记录
$obj = array( “title” => “Calvin and Hobbes”, “author” => “Bill Watterson” );
$collection->insert($obj);
//添加另一条记录, 字段不一样
$obj = array( “title” => “XKCD”, “online” => true );
$collection->insert($obj);
// 查找集合中的所有数据
$cursor = $collection->find();
// 打印对象数组
foreach ($cursor as $obj) {
echo $obj["title"] . “\n”;
}
?>
- [root@localhost soft]# tar -zxvf mongodb-linux-i686-2.0.2-rc2.tgz
- mongodb-linux-i686-2.0.2-rc2/
- mongodb-linux-i686-2.0.2-rc2/THIRD-PARTY-NOTICES
- mongodb-linux-i686-2.0.2-rc2/GNU-AGPL-3.0
- mongodb-linux-i686-2.0.2-rc2/README
- mongodb-linux-i686-2.0.2-rc2/bin/
- mongodb-linux-i686-2.0.2-rc2/bin/mongofiles
- mongodb-linux-i686-2.0.2-rc2/bin/mongostat
- mongodb-linux-i686-2.0.2-rc2/bin/bsondump
- mongodb-linux-i686-2.0.2-rc2/bin/mongos
- mongodb-linux-i686-2.0.2-rc2/bin/mongotop
- mongodb-linux-i686-2.0.2-rc2/bin/mongodump
- mongodb-linux-i686-2.0.2-rc2/bin/mongoimport
- mongodb-linux-i686-2.0.2-rc2/bin/mongosniff
- mongodb-linux-i686-2.0.2-rc2/bin/mongo
- mongodb-linux-i686-2.0.2-rc2/bin/mongod
- mongodb-linux-i686-2.0.2-rc2/bin/mongoexport
- mongodb-linux-i686-2.0.2-rc2/bin/mongorestore
- [root@localhost mongodb]# mkdir log
- [root@localhost mongodb]# mkdir data
- [root@localhost mongodb]# cd log
- [root@localhost log]# touch mongodb.log
- [root@localhost local]# cd mongodb/bin
- [root@localhost mongodb]# ./bin/mongod -port 10001 --dbpath data/ --logpath log/mongodb.log
- all output going to: log/mongodb.log
- [root@localhost /]# cd usr/local/mongodb
- [root@localhost mongodb]# ./bin/mongo localhost:10001
- MongoDB shell version: 2.0.2-rc2
- connecting to: localhost:10001/test
- >
- bye
- connecting to: localhost:10001/test
- > db.foo.save({a:1})
- > db.foo.find()
- { "_id" : ObjectId("4ee66eb440ef7803a9873d2d"), "a" : 1 }
- >
通过配置文件来配置Mongodb
- [root@localhost mongodb]# vi mongodb.conf
- port=10001
- dbpath=data/
- logpath=log/mongodb.log
- logappend=true
- [root@localhost mongodb]# ./bin/mongod -f mongodb.conf
- all output going to: log/mongodb.log