php对mongodb的扩展(小试牛刀)


Posted in Javascript onNovember 11, 2012

今天外面刮着呼呼的大风,能在一个温暖的小屋写着博客也是北漂的一种幸福。好了废话不多说,今天主要说一下php连接、操作mongodb,如果你没有看上两期的内容,不知道如何安装php对mongodb的扩展的话请您返回去看《php对mongodb的扩展(初识如故) 》和《php对mongodb的扩展(初出茅庐)》 。

php 连接mongodb

try { 
$mongo = new Mongo("mongodb://username:password@127.0.0.1:27017/db1"); 
}catch(MongoConnectionException $e) { 
print $e->getMessage(); 
exit; 
}

选择数据库blog
$db = $mongo->blog;

关闭数据库
$conn->close();

选择操作集合
$collection = $db->users;
插入数据
$user = array('name' => 'caleng', 'city' => 'beijing'); 
$collection->insert($user);

修改数据
$newdata = array('$set' => array("city" => "shanghai")); 
$collection->update(array("name" => "caleng"), $newdata);

删除数据
$collection->remove(array('name'=>'caleng'), array("justOne" => true));

查找数据
查找一条数据
$result= $collection->findone(array("name"=>"caleng"));

查询一个列表
//找出创建时间大于某一时间的数据 
$start = 1; 
$counditionarray=array("ctime"=>array('$gt'=>1337184000)); 
$list_data = $this->game_handle->find($counditionarray); 
$total = $this->game_handle->count($counditionarray); 
$list_data->limit($count); //数据结束位置 
$list_data->skip($start); //数据开始取的位置 
var_dump($list_data);

in查询
$cursor = $collection->find(array( 
'name' => array('$in' => array('Joe', 'Wendy')) 
));

group查询
$collection->insert(array("category" => "fruit", "name" => "apple")); 
$collection->insert(array("category" => "fruit", "name" => "peach")); 
$collection->insert(array("category" => "fruit", "name" => "banana")); 
$collection->insert(array("category" => "veggie", "name" => "corn")); 
$collection->insert(array("category" => "veggie", "name" => "broccoli")); 
$keys = array("category" => 1); 
$initial = array("items" => array()); 
$reduce = "function (obj, prev) { prev.items.push(obj.name); }"; 
$g = $collection->group($keys, $initial, $reduce); 
echo json_encode($g['retval']);

输出结果:
[{"category":"fruit","items":["apple","peach","banana"]},{"category":"veggie","items":["corn","broccoli"]}]

可以看出得到的结果是一个二维 数组
array( 
0 => array("category" =>"fruit", "items"=>array("apple","peach","banana")), 
1 => array("category" =>"veggie", "items"=>array("corn","broccoli")) 
)

在这里这写了一些简单的操作,如果您想用php更好的作用mongodb 那就看手册吧。
Javascript 相关文章推荐
Javascript开发之三数组对象实例介绍
Nov 12 Javascript
js获取光标位置和设置文本框光标位置示例代码
Jan 09 Javascript
深入理解Javascript里的依赖注入
Mar 19 Javascript
一个仿糯米弹框效果demo
Jul 22 Javascript
D3.js实现饼状图的方法详解
Sep 21 Javascript
vue2滚动条加载更多数据实现代码
Jan 10 Javascript
微信小程序表单验证错误提示效果
May 19 Javascript
react中的ajax封装实例详解
Oct 17 Javascript
js 两个日期比较相差多少天的实例
Oct 19 Javascript
使用async、enterproxy控制并发数量的方法详解
Jan 02 Javascript
vue项目首屏加载时间优化实战
Apr 23 Javascript
详解微信小程序调用支付接口支付
Apr 28 Javascript
php对mongodb的扩展(初识如故)
Nov 11 #Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 #Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
Nov 11 #Javascript
jQuery语法总结和注意事项小结
Nov 11 #Javascript
javascript继承之为什么要继承
Nov 10 #Javascript
jquery表单验证使用插件formValidator
Nov 10 #Javascript
js 判断checkbox是否选中的操作方法
Nov 09 #Javascript
You might like
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
php中常用的预定义变量小结
2012/05/09 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
2014/12/17 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
给before和after伪元素设置js效果的方法
2015/12/04 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
微信小程序开发探究
2016/12/27 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
vue根据值给予不同class的实例
2018/09/29 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
星球大战与Python之间的那些事
2016/01/07 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
致长跑运动员广播稿
2014/01/31 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
Java移除无效括号的方法实现
2021/08/07 Java/Android
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL