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高
相关文章
相关标签/搜索