PHP与MongoDB简介|安全|M+PHP应用实例详解

2015-01-24信息快讯网

本篇文章是对PHP中的MongoDB简介|安全|M+PHP应用实例进行了详细的分析介绍,需要的朋友参考下

一、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://github.com/mongodb/mongo-php-driver/downloads,提示:
1、VC6适合Apache、VC9适合IIS;
2、Thread safe适合PHP以模块运行方式、Non-thread safe适合CGI运行方式。
修改php.ini,加入:extension=php_mongo.dll,重启Web服务器。

四、PHP测试与MongoDB的相关示例
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"); 
?> 

<?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; 
?> 

<?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); 
?> 

<?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环境下利用session防止页面重复刷新的具体实现
php检测用户是否用手机(Mobile)访问网站的类
PHP修改session_id示例代码
php缩小png图片不损失透明色的解决方法
linux实现php定时执行cron任务详解
解决file_get_contents无法请求https连接的方法
php使用curl发送json格式数据实例
php使用mb_check_encoding检查字符串在指定的编码里是否有效
mac下安装nginx和php
php cURL和Rolling cURL并发方式比较
php模拟ping命令(php exec函数的使用方法)
php增删改查示例自己写的demo
完美解决PHP中的Cannot modify header information 问题
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
PHP操作MongoDB GridFS 存储文件的详解
解析PHP中常见的mongodb查询操作
解析:使用php mongodb扩展时 需要注意的事项
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
php.ini修改php上传文件大小限制的方法详解
深入掌握include_once与require_once的区别
深入Memcache的Session数据的多服务器共享详解
基于PHP输出缓存(output_buffering)的深入理解
php缓冲 output_buffering的使用详解
基于php iconv函数的使用详解
PHP在不同页面间传递Json数据示例代码
使用session判断用户登录用户权限(超简单)
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
php IP转换整形(ip2long)的详解
解析CI即CodeIgniter框架在Nginx下的重写规则
基于MySQL到MongoDB简易对照表的详解
作为PHP程序员应该了解MongoDB的五件事
深入PHP操作MongoDB的技术总结
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
PHP对MongoDB[NoSQL]数据库的操作
php对mongodb的扩展(初出茅庐)
©2014-2024 dbsqp.com