日度归档:2010年8月18日

windows下安装mongodb及php驱动

mongodb是nosql的典型了,采用是json类似的存储格式

mongodb官网下载windows平台下的服务端: http://www.mongodb.org/downloads

mongodb的php驱动:http://github.com/mongodb/mongo-php-driver/downloads

mongodb下载后,解压到D盘,最终地址是:D:\mongodb\bin

php驱动 php_mongo.dll 解压至php的ext文件夹下,然后修改php.ini,添加 extension=php_mongo.dll

新建数据库存放文件夹  D:\mongodb\db

mongodb的启动:

在命令行输入  D:\mongodb\bin\mo\mongod –dbpath D:\mongodb\db

到这里,mongodb已启动,打开http://127.0.0.1:28017/ 可以看到mongodb运行情况

为了方便以后每次不必启动mongod,可以把mongod注册成windows服务

mongodb php使用方法:

3 用PHP操作Mongondb


简单列子 //这里采用默认连接本机的27017端口,当然你也可以连接远程主机如192.168.0.4:27017,如果端口是27017,端口可以省略
$m = new Mongo();

// 选择comedy数据库,如果以前没该数据库会自动创建,也可以用
$db = $m->comedy;

//选择comedy里面的collection集合,相当于RDBMS里面的表,也-可以使用
$collection = $db->collection;
$db->selectCollection("collection");

/* —– 添加一个元素 —–*/
$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($obj);     //将$obj 添加到$collection 集合中

/* —– 添加另一个元素 —–*/
$obj = array(
"title" => "XKCD",
"online" => true
);
$collection->insert($obj);

$cursor = $collection->find();

//遍历所有集合中的文档
foreach ($cursor as $obj) {
echo $obj["title"] . "\n";
}   

//断开MongoDB连接
$m->close();

3.2 常用函数

		$query = array( "i" => 71 );    
$cursor = $collection->find( $query );      // 在$collectio集合中查找满足$query的文档    
 
while( $cursor->hasNext() ) {    
var_dump( $cursor->getNext() );    
}    
 
$collection -> findOne();            //返回$collection集合中第一个文档    
 
$collection -> count();              //返回$collection集合中文档的数量    
$coll->ensureIndex( array( "i" => 1 ) );  // 为i “这一列”加索引 降序排列    
$coll->ensureIndex( array( "i" => -1, "j" => 1 ) );  // 为i “这一列”加索引 降序排列 j升序

3.3 查询时,每个Object插入时都会自动生成一个独特的_id,它相当于RDBMS中的主键,用于查询时非常方便
如:

		<?php    
 
$person = array("name" => "joe");    
 
$people->insert($person);    
 
$joe = $people->findOne(array("_id" => $person['_id']));    
 
?>