mongodb php增删改查基本操作

时间:2022-10-20 23:33:15

刚学习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);