1.初识MongoDB
来源:互联网 发布:怎么卸载mac的flash 编辑:程序博客网 时间:2024/04/29 11:26
写在前面
最近在研究MongoDB,用过mysql,也用过MSSQL,oracle没用过,但他们都是基于SQL的、基于表的关系型数据库。懂其一,而他的都能略知一二。而MongoDB而是基于文档。那么什么是MongoDB?下面有五件事是PHP开发者应该了解的。(来自于http://database.51cto.com/art/201003/187379.htm)
- MongoDB是一个单独的服务器。
- MongoDB是基于文档,而不是基于表。
- MongoDB中较少的Schema。
- 你不需要学习另外的语言。
- MongoDB有良好的PHP支持。
一.MongoDB的下载。
1. 下载对应的操作系统的MongoDB。官网下载:http://www.mongodb.org/downloads,我是在windows 32操作系统下使用的,所以下载对应的windows 32版,写这篇文章的时候 最新版本是2.0.2:http://downloads.mongodb.org/win32/mongodb-win32-i386-2.0.2.zip。
2. 下载PHP对应的MongoDB的驱动,以来用PHP来接连MongoD。官网下载:https://github.com/downloads/mongodb/mongo-php-driver/mongo-1.1.4.zip,找到对应的PHP版本,我的是PHP5.2的apache服务器,所以我用是mongo-1.1.4-php5.2vc6ts,(注:vc6代码是apache服务器,vc9表示是微软的IIS服务器。ts表示有线程保护。)
二.MongoDB的安装。
1. 在E盘新建文件夹MongoDB,如:E:\MongoDB,
2.把下载的MongoDB解压,把bin目录的所有文件,复制到MongoDB目录下。
3.在MongoDB目录下新建目录data,新建目录logs,分别来存放数据和日志文件。
如下图所示:
4. 启动mongoDB
打开cmd命令提示,输入:
>E:E:\>cd MongoDBE:\MongoDB >mongod --dbpath E:\mongoDB\data如下图所示:
这个时候MongoDB就启动了,占用的是27017端口。
在浏览器输入:http://localhost:27017/,可以看到如下图提示:
You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
说明,MongoDB数据库服务已经成功启动了。
5. 将mongoDB进程加入到windows开机自动启动,免得每次都要执行第4步的动作,还不能关闭命令提示符器。
其中--dbpath 数据库存放的位置,可以存放到多个位置。--logpath 日志的目录。--logappend 日志记录的方式是在旧的日志后追加。--directoryperdb 参数让系统为每个 DB 创建一个独立子目录。--serviceName 服务进程的名字,--install 安装。
E:\mongodb\>mongod --logpath E:\mongodb\logs\mongodb.log --logappend --dbpath E:\mongodb\data --directoryperdb --serviceName mongodb --install这样执行的日志文件就会全部被记录到E:\MangoDB\logs\mongodb.log文件中了,而且MongoDB也会开机自启动了。
我们可以打开我的电脑,查看系统开机进程,发现mongoDB已经加到进程当中,可以停止和重启。
6. mongoDB的简单实用命令。
E:\mongodb>mongo.exeMongoDB shell version: 2.0.2connecting to: test> show dbs;显示数据adminlocal> help;查看命令提示 db.help() help on db methods db.mycoll.help() help on collection methods rs.help() help on replica set methods help connect connecting to a db help help admin administrative help help misc misc things to know show dbs show database names show collections show collections in current database show users show users in current database show profile show most recent system.profile entries with time >= 1ms use <db_name> set current database db.foo.find() list objects in collection foo db.foo.find( { a : 1 } ) list objects in foo where a == 1 it result of the last line evaluated; use to further iterate exit quit the mongo shell> use testdb;切换到testdb数据库,如果不存在则在插入数据后会自动创建一个,在data目录下可以看到新增了一个testdb的文件夹switched to db testdb> db.myc.save({a:10});向collection mpc 中保存一条信息,如果不存在collection会自动创建一个> db.myc.find();检索所有记录{ "_id" : ObjectId("4d32c9204e6100000000691e"), "a" : 10 }> show collections;mycsystem.indexes>exit;退出
三. MongoDB与 php 连接。
1.将下载的MongoDB对应php版本的驱动 php_mongo.dll 复制到php安装目录的ext 目录下。
2.打开php的配置文件 php.ini ,加入驱动: extension=php_mongo.dll
3.重启apache服务器,查看phpinfo。
如下图:
说明mongoDB与PHP搭桥成功!
4,用代码测试mongoDB与PHP。
<?php//php连接mongoDB// connect连接$m = new Mongo();// select a database选择一个数据库$db = $m->comedy;// select a collection (analogous to a relational database's table)选一个关联(类似于关联数据库中的一个表)$collection = $db->cartoons;// add a record增加一个记录$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );$collection->insert($obj);// add another record, with a different "shape"增加另一个记录$obj = array( "title" => "XKCD", "online" => true );$collection->insert($obj);// find everything in the collection查找$cursor = $collection->find();// iterate through the results输出结果。foreach ($cursor as $obj) {echo $obj["title"] . "\n";}?>输入结果为:Calvin and HobbesXKCD 说明php与mongoDB连接成功!
很详细的介绍过程。
- 1.初识MongoDB
- MongoDB初识
- 初识 MongoDB
- 初识MongoDB
- 初识MongoDB
- mongodb初识
- MongoDB初识
- mongodb初识
- 初识MongoDB
- 初识MongoDB
- mongodb初识
- 初识 MongoDB
- mongodb初识
- 初识MongoDB
- 初识mongoDB
- mongoDB初识
- 初识Mongodb
- 初识MongoDB
- 你知道一周七天的来历么?
- 马士兵Servlet Jsp学习
- 在验证码中生成随机字符串
- ctime库函数的使用
- 实时显示系统时间
- 1.初识MongoDB
- Javascript实现动态表格
- 对象序列化与反序列化(Serialize|Deserialize)
- jquery,js一些操作
- js对时间操作函数
- 我的Android学习开发笔记-eclipse环境配置
- 科学家研制时间漏洞首次实现物体时空同时隐形
- ios 开发中 制作和使用静态库
- Google Analytics在Flash cs3下的使用教程