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 GD 图像处理组件的常用函数总结
Apr 28 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
Oct 23 PHP
PHP 正则表达式小结
Feb 12 PHP
Yii中Model(模型)的创建及使用方法
Dec 28 PHP
PHP MYSQL实现登陆和模糊查询两大功能
Feb 05 PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 PHP
php无限级分类实现方法分析
Oct 19 PHP
php 生成签名及验证签名详解
Oct 26 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
Apr 27 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
PHP基于array_unique实现二维数组去重
Jul 14 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
Aug 03 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
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
详解Vue方法与事件
2017/03/09 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
js 实现复选框只能选择一项的示例代码
2018/01/23 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
vue实现购物车的小练习
2020/12/21 Vue.js
[02:01]大师之路——DOTA2完美大师赛11月论剑上海
2017/11/06 DOTA
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
关于Python错误重试方法总结
2021/01/03 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
教师节寄语2015
2015/03/23 职场文书
2015年化验室工作总结
2015/04/23 职场文书