首页 > 代码库 > PHP使用Mongodb

PHP使用Mongodb

一.安装Mongodb的PHP扩展

wget http://pecl.php.net/get/mongo-1.2.7.tgz //下载扩展包
tar zxvf mongo-1.2.7.tgz
cd mongo-1.2.7
/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config
make

make install

注:当在ubuntu环境下,需要root权限,需要加sudo ,故sudo make && make install 会报ERROR,应该是 sudo make && sudo make install 才行,因为make install也需要root权限才行。

 

二、Mongodb 的CRUD API

1.连接Mongodb 获取集合

$conn = new MongoClient("mongodb://127.0.0.1:27017");
$db = $conn->mydb;
$collection = $db->user;

 

2.Insert 操作

$u1 = array(‘id‘=>216,‘name‘=>‘wfm11‘,‘age‘=>121,‘addr‘=>‘2beijing‘);
$result = $collection->insert($u1);
echo ‘new user u1:‘.$u1[‘_id‘].‘<br>‘;

 

3.Update操作

$re = $collection->update($where = array(‘id‘=>1),array(‘set‘=>array(‘id‘=>1,‘name‘=>‘aaa‘,‘addr‘=>‘hangzhou‘)));

 

4.Select 操作

$cursor = $collection->find()->snapshot();
foreach($cursor as $id => $value){
  echo $id.‘:‘.$value[‘id‘].‘--->‘.$value[‘name‘];
  var_dump($value);
}

 

$cursor = $collection->find(array(‘id‘=>array(‘$gt‘=>0,‘$lte‘=>21)));
while($cursor->hasNext()){
 var_dump($cursor->getNext());
}

 

$doc = $collection->findOne();
var_dump($doc);

 

5.count 操作

echo ‘count:‘.$collection->count().‘<br>‘;
echo ‘id=1 count‘.$collection->count(array(‘id‘=>1)).‘<br>‘;

 

6.remove操作

$re = $collection->remove(array(‘id‘=>269));

 

7.添加索引,指定排序规则

//add index on name (asc),age(desc)
$collection->ensureIndex(array("name" => -1,"age"=>1));