php在mongodb中crud的操作

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
  • mongodb:// 这是固定的格式,必须要指定。
  • username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库
  • host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
  • portX 可选的指定端口,如果不填,默认为27017
  • /database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开admin数据库。
  • ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开
$m = new MongoClient("mongodb://root:root@127.0.0.1:27017"); // 连接mongodb //冒号前面的是用户名 冒号后面@前面的部分是密码 然后是主机或者ip 端口
//$db = $m->test; // 获取名称为 "test" 的数据库
$db=$m->selectDB("test");
$creatCollect=$db->createCollection("zhang");
//$collection = $db->selectCollection("runoob"); // 选择集合
$collection=$db->selectCollection("zhang");
 
$data = array(
"title" => "MongoDB",
"url" => "http://www.runoob.com/mongodb/",
'log_time'=>date("Y-m-d H:i:s"),
);
$data1=array('title'=>'MongoDB');
//$collection->remove($data1);//删除操作
$collection->remove($data1,array("justOne" => true));//只删除一条记录
//$collection->insert($data);//插入操作
//更新数据操作 update(data,newobj,opt)
$sarr = array("title"=>"MongoDB");//库中原有数据 query 查询
$darr = array('$set'=>array('title'=>'zhangsan')); //将要修改成的数据
$opts = array('upsert'=>0,'multiple'=>1);
$collection->update(array('title'=>'zhang'),array('$set'=>$data1),$opts);
//查找数据
$collection->find($data1);//$collection->findOne($data1)
//按照条件查找 并且限制显示数据的条数
$query=array('log_time'=>array('$gt'=>'2017-02-22'));
$result=$collection->find($query)->limit(3);
//sort()排序 sort(array('key'=>-1)) 1为升序 -1为倒序 默认为升序 key指字段
$result=$collection->find($query)->limit(3)->sort(array('log_time'=>-1));
posted @ 2018-03-04 17:24  夜阑听雨23  阅读(159)  评论(0编辑  收藏  举报