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 相关文章推荐
通过身份证号得到出生日期和性别的js代码
Nov 23 Javascript
JS Map 和 List 的简单实现代码
Jul 08 Javascript
node.js中的fs.close方法使用说明
Dec 17 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
Jun 05 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
Sep 12 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
Oct 14 Javascript
javascript对浅拷贝和深拷贝的详解
Oct 14 Javascript
Bootstrap模态框案例解析
Mar 05 Javascript
Vue.js2.0中的变化小结
Oct 24 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
Sep 26 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
Feb 26 Javascript
Vue ​v-model相关知识总结
Jan 28 Vue.js
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
帅气的琦玉老师
2020/03/02 日漫
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
jquery自定义表格样式
2015/11/23 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
js css自定义分页效果
2017/02/24 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
python使用7z解压apk包的方法
2015/04/18 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
自考生自我评价分享
2014/01/18 职场文书
活动邀请函范文
2014/01/19 职场文书
大学生就业求职信
2014/06/12 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
社区重阳节活动总结
2015/03/24 职场文书
Android 中的类文件和类加载器详情
2022/06/05 Java/Android