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 相关文章推荐
如何简单地用YUI做JavaScript动画
Mar 10 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
May 23 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
Dec 12 Javascript
JavaScript的漂亮的代码片段
Jun 05 Javascript
ExtJS[Desktop]实现图标换行示例代码
Nov 17 Javascript
原生js结合html5制作小飞龙的简易跳球
Mar 30 Javascript
jquery使用on绑定a标签无效 只能用live解决
Jun 02 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
Dec 18 Javascript
js处理包含中文的字符串实例
Oct 11 Javascript
详解.vue文件解析的实现
Jun 11 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
May 10 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
Oct 24 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
windows xp下安装pear
2006/12/02 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
2014/04/09 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
2018/08/13 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
使用Vue Composition API写出清晰、可扩展的表单实现
2020/06/10 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
python自动化办公操作PPT的实现
2021/02/05 Python
创建市级文明单位实施方案
2014/03/01 职场文书
办公室打字员岗位职责
2014/04/16 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
违纪学生保证书
2015/02/27 职场文书
化工厂员工工作总结
2015/10/15 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
mysql中DCL常用的用户和权限控制
2022/03/31 MySQL
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers