PHP对MongoDB[NoSQL]数据库的操作


Posted in PHP onMarch 01, 2013

一、MongoDB简介

MongoDB (名称来自"humongous") 是一个可扩展的、高性能、开源、模式自由、面向文档的数据库,集文档数据库、键值对存储和关系型数据库的优点于一身。官方站点:http://www.mongodb.org/,MongoDB特点:

•面向文档存储(类JSON数据模式简单而强大)
•动态查询
•全索引支持,扩展到内部对象和内嵌数组
•查询记录分析
•快速,就地更新
•高效存储二进制大对象 (比如照片和视频)
•复制和故障切换支持
•Auto-Sharding自动分片支持云级扩展性
•MapReduce 支持复杂聚合
•商业支持,培训和咨询
二、安装MongoDB

安装MongoDB非常的简单,仅需下载压缩包解压运行命令即可,下载地址:http://www.mongodb.org/downloads,本文为windows平台,MongoDB运行命令:>bin/mongod。提示:首先要创建存储数据的文件夹,MongoDB 默认存储数据目录为 /data/db/ (或者 c:\data\db),当然你也可以修改成不同目录,只需要指定 --dbpath 参数,eg:
>bin/mongod --dbpath=d:\mgdata\db
三、安装MongoDB PHP扩展
根据自己的PHP版本下载PHP扩展:http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows,提示:
1、VC6适合Apache、VC9适合IIS;
2、Thread safe适合PHP以模块运行方式、Non-thread safe适合CGI运行方式。
修改php.ini,加入:extension=php_mongo.dll,重启Web服务器。
四、PHP示例
1、连接Mongo服务器

<?php  
//连接localhost:27017  
$conn = new Mongo();  
//连接远程主机默认端口  
$conn = new Mongo('test.com');  
//连接远程主机22011端口  
$conn = new Mongo('test.com:22011');  
//MongoDB有用户名密码  
$conn = new Mongo("mongodb://${username}:${password}@localhost");
//MongoDB有用户名密码并指定数据库blog  
$conn = new Mongo("mongodb://${username}:${password}@localhost/blog");  
//多个服务器  
$conn = new Mongo("mongodb://localhost:27017,localhost:27018");  
?>

2、指定数据库和数据集名(表名)
<?php  
//选择数据库blog  
$db = $conn->blog;  
//制定结果集(表名:users) 
$collection = $db->users;  
?> 
3、CRUD
<?php  
//新增  
$user = array('name' => 'caleng', 'email' => 'admin@admin.com');  
$collection->insert($user);  
//修改  
$newdata = array('$set' => array("email" => "test@test.com"));  
$collection->update(array("name" => "caleng"), $newdata);  
//删除  
$collection->remove(array('name'=>'caleng'), array("justOne" => true));  
//查找  
$cursor = $collection->find();  
var_dump($cursor);  
//查找一条  
$user = $collection->findOne(array('name' => 'caleng'), array('email'));  
var_dump($user);  
?> 
4、关闭连接
<?php  
$conn->close();  
?>
PHP 相关文章推荐
php生成文件
Jan 15 PHP
台湾中原大学php教程孙仲岳主讲
Jan 07 PHP
PHP中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
PHP中改变图片的尺寸大小的代码
Jul 17 PHP
PHP实现邮件群发的源码
Jun 18 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
PHP批量生成图片缩略图的方法
Jun 18 PHP
codeigniter实现get分页的方法
Jul 10 PHP
php错误日志简单配置方法
Jul 11 PHP
总结对比php中的多种序列化
Aug 28 PHP
php及codeigniter使用session-cookie的方法(详解)
Apr 06 PHP
PHP数组去重的更快实现方式分析
May 09 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 #PHP
Apache中php.ini的设置方法
Feb 28 #PHP
PHP中如何定义和使用常量
Feb 28 #PHP
使用php判断浏览器的类型和语言的函数代码
Feb 28 #PHP
CI框架源码阅读,系统常量文件constants.php的配置
Feb 28 #PHP
PHP删除非空目录的函数代码小结
Feb 28 #PHP
PHP生成随机用户名和密码的实现代码
Feb 27 #PHP
You might like
PHP与javascript对多项选择的处理
2006/10/09 PHP
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
js 手机号码合法性验证代码集合
2012/09/29 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
python模拟enum枚举类型的方法小结
2015/04/30 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
重构Python代码的六个实例
2020/11/25 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
工作决心书
2014/03/11 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
2014年派出所工作总结
2014/11/21 职场文书
单位工作证明范本
2015/06/15 职场文书
Mysql中存储引擎的区别及比较
2021/06/04 MySQL
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技