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运行出现Call to undefined function curl_init()的解决方法
Nov 02 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
Aug 21 PHP
Yii2前后台分离及migrate使用(七)
May 04 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
Oct 20 PHP
Nginx下ThinkPHP5的配置方法详解
Aug 01 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
Apr 04 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
May 10 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
laravel异步监控定时调度器实例详解
Jun 21 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
PHP 危险函数全解析
2009/09/09 PHP
PHPCMS的使用小结
2010/09/20 PHP
php中Smarty模板初体验
2011/08/08 PHP
php备份数据库类分享
2015/04/14 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
php实现zip文件解压操作
2015/11/03 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
python动态性强类型用法实例
2015/05/09 Python
日常整理python执行系统命令的常见方法(全)
2015/10/22 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
python实现双人五子棋(终端版)
2020/12/30 Python
机械制造与自动化应届生求职信
2013/11/16 职场文书
会计专业自荐信
2013/12/02 职场文书
简历里的自我评价
2014/01/31 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
大学生安全责任书
2014/07/25 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS
欧元符号 €
2022/02/17 杂记