php操做MONGODB

1、連接數據庫php


$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的offset
echo "<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>";


2、插入數據
mysql

$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的值

3、修改數據
sql

$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());
}

4、刪除數據mongodb

//$collection->remove();//清空數據表
//$collection->remove(array('_id' => new MongoId($id))); //刪除某記錄
//$collection->remove(array('genre' =>'drama'),array('justOne' => True));//加了justOne的參數,則只刪除符合條件的一條記錄,其餘不刪除//$collection->drop();//drop效率比remove高
相關文章
相關標籤/搜索