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 相关文章推荐
example2.php
Oct 09 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
May 26 PHP
一道关于php变量引用的面试题
Aug 08 PHP
php include加载文件两种方式效率比较
Aug 08 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
Nov 07 PHP
Thinkphp模板中截取字符串函数简介
Jun 17 PHP
php截取指定2个字符之间字符串的方法
Apr 15 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 PHP
PHP处理二进制数据的实现方法
Jun 13 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
Laravel框架实现文件上传的方法分析
Sep 29 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可逆加密/解密函数分享
2012/09/25 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
JavaScript 学习小结(适合新手参考)
2009/07/30 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
JS实现扫码枪扫描二维码功能
2020/01/03 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
Python比较两个图片相似度的方法
2015/03/13 Python
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
python调用外部程序的实操步骤
2019/03/04 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
python实现canny边缘检测
2020/09/14 Python
python如何提升爬虫效率
2020/09/27 Python
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
META-INF文件夹中的MANIFEST.MF的作用
2016/06/21 面试题
新闻专业个人自我评价
2013/09/21 职场文书
工商治理实习生的自我评价
2014/01/15 职场文书
社区工作者先进事迹
2014/01/18 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python
vue打包时去掉所有的console.log
2022/04/10 Vue.js