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

2015-01-24信息快讯网

PHP对MongoDB[NoSQL]数据库的操作,需要的朋友可以参考一下

一、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' => '[email protected]'); $collection->insert($user); //修改 $newdata = array('$set' => array("email" => "[email protected]")); $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原理之变量分离/引用(Variables Separation)
PHP中怎样保持SESSION不过期 原理及方案介绍
如何在php中正确的使用json
注意:php5.4删除了session_unregister函数
PHP中fwrite与file_put_contents性能测试代码
Php output buffering缓存及程序缓存深入解析
深入Nginx + PHP 缓存详解
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
PHP中mb_convert_encoding与iconv函数的深入解析
PHP操作MongoDB GridFS 存储文件的详解
解析PHP中常见的mongodb查询操作
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
解析:使用php mongodb扩展时 需要注意的事项
PHP与MongoDB简介|安全|M+PHP应用实例详解
利用PHP扩展vld查看PHP opcode操作步骤
phpExcel导出大量数据出现内存溢出错误的解决方法
CI框架源码阅读,系统常量文件constants.php的配置
php和js如何通过json互相传递数据相关问题探讨
浅谈apache和nginx的rewrite的区别
PHP应用JSON技巧讲解
PHP5.4中json_encode中文转码的变化小结
php加水印的代码(支持半透明透明打水印,支持png透明背景)
PHP中header和session_start前不能有输出原因分析
Could not load type System.ServiceModel.Activation.HttpModule解决办法
php对mongodb的扩展(初出茅庐)
nginx+php-fpm配置文件的组织结构介绍
如何获知PHP程序占用多少内存(memory_get_usage)
PHP管理内存函数 memory_get_usage()使用介绍
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
PHP连接MongoDB示例代码
©2014-2024 dbsqp.com