龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

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

时间:2014-07-22 14:51来源: 作者: 点击:
分享到:
pstrongspan style=font-size:18px;一、MongoDB简介/span/strong/p pspan style=font-size:18px;MongoDB (名称来自humongous) 是一个可扩展的、高性能、开源、模式自由、面向文档的数据库,集文档数据库、键值对

一、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 Code 复制内容到剪贴板
  1. <?php     
  2. //连接localhost:27017    
  3. $conn = new Mongo();     
  4. //连接远程主机默认端口    
  5. $conn = new Mongo('test.com');     
  6. //连接远程主机22011端口    
  7. $conn = new Mongo('test.com:22011');     
  8. //MongoDB有用户名密码    
  9. $conn = new Mongo("mongodb://${username}:${password}@localhost")     
  10. //MongoDB有用户名密码并指定数据库blog    
  11. $conn = new Mongo("mongodb://${username}:${password}@localhost/blog");     
  12. //多个服务器    
  13. $conn = new Mongo("mongodb://localhost:27017,localhost:27018");     
  14. ?>    
  15. <?php   
  16. //连接localhost:27017  
  17. $conn = new Mongo();   
  18. //连接远程主机默认端口  
  19. $conn = new Mongo('test.com');   
  20. //连接远程主机22011端口  
  21. $conn = new Mongo('test.com:22011');   
  22. //MongoDB有用户名密码  
  23. $conn = new Mongo("mongodb://${username}:${password}@localhost")   
  24. //MongoDB有用户名密码并指定数据库blog  
  25. $conn = new Mongo("mongodb://${username}:${password}@localhost/blog");   
  26. //多个服务器  
  27. $conn = new Mongo("mongodb://localhost:27017,localhost:27018");   
  28. ?>  


2、指定数据库和数据集名(表名)

PHP Code 复制内容到剪贴板
  1. <?php     
  2. //选择数据库blog    
  3. $db = $conn->blog;     
  4. //制定结果集(表名:users)   
  5.   
  6. $collection = $db->users;     
  7. ?>    
  8. <?php   
  9. //选择数据库blog  
  10. $db = $conn->blog;   
  11. //制定结果集(表名:users)  
  12. $collection = $db->users;   
  13. ?>  


3、CRUD

PHP Code 复制内容到剪贴板
  1. <?php     
  2. //新增    
  3. $user = array('name' => 'caleng''email' => 'admin@admin.com');     
  4. $collection->insert($user);     
  5. //修改    
  6. $newdata = array('$set' => array("email" => "test@test.com"));     
  7. $collection->update(array("name" => "caleng"), $newdata);     
  8. //删除    
  9. $collection->remove(array('name'=>'caleng'), array("justOne" => true));     
  10. //查找    
  11. $cursor = $collection->find();     
  12. var_dump($cursor);     
  13. //查找一条    
  14. $user = $collection->findOne(array('name' => 'caleng'), array('email'));     
  15. var_dump($user);     
  16. ?>    
  17. <?php   
  18. //新增  
  19. $user = array('name' => 'caleng''email' => 'admin@admin.com');   
  20. $collection->insert($user);   
  21. //修改  
  22. $newdata = array('$set' => array("email" => "test@test.com"));   
  23. $collection->update(array("name" => "caleng"), $newdata);   
  24. //删除  
  25. $collection->remove(array('name'=>'caleng'), array("justOne" => true));   
  26. //查找  
  27. $cursor = $collection->find();   
  28. var_dump($cursor);   
  29. //查找一条  
  30. $user = $collection->findOne(array('name' => 'caleng'), array('email'));   
  31. var_dump($user);   
  32. ?>  



4、关闭连接

PHP Code 复制内容到剪贴板
  1. <?php     
  2. $conn->close();     
  3. ?>

一、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 Code复制内容到剪贴板

    <?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 Code复制内容到剪贴板

    <?php     
    //选择数据库blog    
    $db = $conn->blog;     
    //制定结果集(表名:users)   
      
    $collection = $db->users;     
    ?>    
    <?php   
    //选择数据库blog  
    $db = $conn->blog;   
    //制定结果集(表名:users)  
    $collection = $db->users;   
    ?>  


3、CRUD
PHP Code复制内容到剪贴板

    <?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 Code复制内容到剪贴板

    <?php     
    $conn->close();     
    ?> 
精彩图集

赞助商链接