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+APACHE实现用户论证的方法
Oct 09 PHP
PHP memcache扩展的三种安装方法
Apr 26 PHP
PHP中fwrite与file_put_contents性能测试代码
Aug 02 PHP
php中用socket模拟http中post或者get提交数据的示例代码
Aug 08 PHP
php获取汉字首字母的函数
Nov 07 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
Sep 16 PHP
PHP动态页生成静态页的3种常用方法
Nov 13 PHP
PHP入门教程之会话控制技巧(cookie与session)
Sep 11 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
Feb 18 PHP
PHP ADODB实现事务处理功能示例
May 25 PHP
php实现大文件断点续传下载实例代码
Oct 01 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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表单转换textarea换行符的方法
2010/09/10 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
利用a标签自动解析URL分析网址实例
2014/10/20 Javascript
浅谈javascript中的DOM方法
2015/07/16 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
python使用PyV8执行javascript代码示例分享
2013/12/04 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
python感知机实现代码
2019/01/18 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
matplotlib实现区域颜色填充
2019/03/18 Python
python版百度语音识别功能
2019/07/09 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
详解Python设计模式之策略模式
2020/06/15 Python
python Xpath语法的使用
2020/11/26 Python
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
应届生自我鉴定
2013/12/11 职场文书
新闻发布会主持词
2014/03/28 职场文书
新年团拜会主持词
2014/04/02 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
公司辞职信模板
2015/05/13 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书