一、連結資料庫
$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高