一、连接数据库
$conn=new MongoClient('mongodb://localhost:27017');
//mongodb://username:password@host:port
$db=$conn->chili; //选择数据库
$col=$db->test; //选择集合
$dbs=$conn->listDBs(); //查看所有的表
$collections=$db->listCollections();
二、查询操作
//查询全部数据
$all=$col->find();
foreach ($all as $v){
var_dump($v);
}
//查找一条 findOne
//设置查询语句
$query['title']='ddff';
//设置显示字段
$field=array('_id'=>false,'title'=>true,'value'=>true);
$res=$col->find($query,$field);
foreach ($res as $v){
var_dump($v);
}
//排序
$data=$col->find()->sort(array('value'=>-1));//从大到小,1从小到大
//全部文档数
$data=$col->find()->count();
//var_dump($data);
//limit
$data=$col->find()->sort(array('value'=>-1))->limit(2);
//skip
$data=$col->find()->sort(array('value'=>-1))->skip(2);//跳过前两个
//skip和limit可结合实现分页效果
$page=1;
$everypage=2;
$data=$col->find()->sort(array('value'=>-1))->skip(($page-1)*$everypage)->limit($everypage);
//页码从第一页开始
//条件操作符
$query['value']=array('$gte'=>500);//>=500
$field=array('_id'=>false,'title'=>true,'value'=>true);//设置显示字段
$res=$col->find($query,$field);
//模糊查询
$query['title']=new MongoRegex('/南海/');
$field=array('_id'=>false,'title'=>true,'value'=>true);//设置显示字段
$res=$col->find($query,$field);
//将查询结果转化为数组
$res=iterator_to_array($res);
var_dump($res);
三、插入操作
$data=array(
'title'=>'南海仲裁',
'value'=>585
);
$col->insert($data);
/*
**** insert第二个参数
$option=array(
'fsync'=> false, 真时,php将会告诉mongodb将当前写入数据直接写入硬盘,即使还没有全部从php文档写入mongodb数据库
'j'=> false, 真时,php将会告诉mongodb在数据插入成功之前就将本次修改写入日志
'w'=> 1, 0时写操作将不会被确认
'wtimeout'=>10000,
'timeout'=>10000 客户端等待服务器响应的超时时间,也就是如果php的服务器等待mongodb数据库写入数据的时间,如果超过了timeout规定的时间,就算本次写入失败
)
* /
四、修改操作
$data=array('$set'=>array('value'=>800));
$res=$col->update(array('title'=>'南海仲裁'),$data);//只更新了第一条数据
/*
**** update第三个参数
$option=array(
'upsert'=>false, true表示如果当前文档存在就更新,不存在就创建
'multiple'=>true, true表示更新所有
'fsync'=>false,
'w'=>1,
'wtimeout'=>10000,
'timeout'=>10000
)
*/
//=======================
$res=$col->update(array('title'=>'南海仲裁'),$data,array('multiple'=>true));//更新多条数据
var_dump($res);//$res['ok']=1
五、删除操作
$res=$col->remove(array('title'=>'ddddg'),array('justOne'=>true));
var_dump($res);//$res['ok']=1
/*
**** 第二个参数
$option=array(
'justOne'=>false, true时只删除一条
'fsync'=>false,
'w'=>1,
'j'=>false,
'wtimeout'=>10000,
'timeout'=>10000
)
*/
六、操作完成要关闭连接
$conn->close();
会更新补充~