php操作MONGODB

来源:互联网 发布:安讯士网络摄像机 编辑:程序博客网 时间:2024/06/06 00:08

一、链接数据库


$conn = new Mongo("mongodb://IP:PORT/DBname:DBPWD");      //这里采用默认连接本机的27017端口,当然你也可以连接远程主机如    $db=$conn->selectDB("DBName");$collection=$db->selectCollection('tablename');//这里叫做tablename便于理解,其实mongo叫集合$dbs = $conn->listDBs();//获得一个包含db信息的数组//var_dump($dbs);$tbs=$db->listCollections();//获得一个包含集合的数组foreach($tbs as $val){ echo "tb1:$val<br>";}echo "count:".$collection->count();echo "<br>";echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";$cursor = $collection->find();$rs=$cursor->sort(array("key"=>1))->skip(10)->limit(20);//skip相当于sql的start,limit相当于mysql的offsetecho "<table><tr><td align='center'>id</td><td align='center'>width</td><td align='center'>height</td><td align='center'>url</td><td align='center'>from</td><td align='center'>key</td><td align='center'>title</td></tr>";foreach($rs as $val){//var_dump($val);echo "<tr><td>".$val["_id"]."</td><td>".$val["width"]."</td><td>".$val["height"]."</td><td>".$val["url"]."</td><td>".$val["from"]."</td><td>".$val["key"]."</td><td>".$val["title"]."</td></tr>";//var_dump($val);}echo "</table>";

二、插入数据
$collection=$db->selectCollection('grppic');//MONGODB不用建立集合(表),也没有表结构$doc = array('title' =>  'title','thumb' => 'thumb',//可以自动根据数据的大小设定每个记录'urls'=> (object)array("1.jpg","2.jpg","3.jpg","4.jpg"));//$cord = array('title' => 'title', 'thumb' => 'thumb','url'=>"aaaaa","title"=>"inserted");$collection->insert($doc);//echo $doc['_id'];//返回最后一次插入的$id值//更新操作//如下的数字ID也就是返回的$id的值
三、修改数据
$id=new MongoId("5271c4f0da466aec0c000000");//每条插入的记录系统都会赋予一个$id,通过find可以知道这个值$where=array('_id'=>(object)$id);$newdata=array('urls'=> (object)array("a.jpg","b.jpg"));$result=$collection->update($where,array('$set'=>$newdata));//MongoDB也支持批量更新,与关系型数据库类似,可以更新给定条件的所有文档,如果想这么做的话,就需要设置options的multiple的值为true.//$result=$collection->update($where,array('$set'=>$newdata),array('multiple'=>true));$cursor=$collection->find();while($cursor->hasNext()) {    var_dump($cursor->getNext());}

四、删除数据

//$collection->remove();//清空数据表//$collection->remove(array('_id' => new MongoId($id))); //删除某记录//$collection->remove(array('genre' =>'drama'),array('justOne' => True));//加了justOne的参数,则只删除符合条件的一条记录,其他不删除//$collection->drop();//drop效率比remove高
原创粉丝点击