1. 程式人生 > >mongodb php增刪改查基本操作

mongodb php增刪改查基本操作

剛學習mongodb,現在網上的資料還比較少,讀了一本mongodb權威指南,介紹的內容不是很全面。七零八湊找了些對mongo資料庫的基本增刪改查操作。

$mongo = new Mongo();
$db = $mongo->selectDB('test');
$collection = $db->selectCollection('foo');


//插入
$array = array('name'=>'張三','sex'=>'male');
$bool = $collection->insert($array);

//更新
$where = array('name'=>'張三');
$newdata = array('name'=>'張三','sex'=>'female');
$bool = $collection->update($where,array('$set',$newdata));


//批量更新
$where = array('y'=>'9');
$newdata = array('y'=>10);
$bool = $collection->update($where,array('$set'=>$newdata),array("multiple" => true));

//刪除欄位
$where = array('a'=>'1');
$bool = $collection->update(array('b'=>'t'),array('$unset'=>array('c'=>1)));
echo '<pre>';var_dump($bool);exit;

//$push
$bool = $collection->update(array('a'=>'1'),array('$push'=>array('c'=>'wow')));
echo '<pre>';var_dump($bool);exit;

//刪除文件
$where = array('name'=>'張三');
$bool = $collection->remove($where);


//group
$keys = array("category" => 1);
$initial = array("count" => 0);
$reduce = "function (obj, prev) { prev.count++ }";

$condition = array('condition' => array('category' => array( '$exists' => 1)));

$g = $collection->group($keys, $initial, $reduce, $condition);
echo '<pre>';print_r($g);exit;


//distinct
$retval = $collection->distinct("zip-code",array('stuff'=>'foo'));




//查詢,sort
$where = array('y'=>array('$exists'=>true,'$gte'=>5,'$lt'=>10));
$result = $collection->find($where)->sort(array('y'=>-1));
$arr = array();
foreach($result as $key=>$value){
        $arr[] = $value;
}

echo '<pre>';print_r($arr);