PHP--MongoDB

来源:互联网 发布:上海网络推广公司排名 编辑:程序博客网 时间:2024/06/05 20:18
一、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示例 1、连接Mongo服务器

[php] view plaincopyprint?
  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. ?>    
 

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

[php] view plaincopyprint?
  1. <?php    
  2. //选择数据库blog     
  3. $db = $conn->blog;    
  4. //制定结果集(表名:users)     
  5. $collection = $db->users;    
  6. ?>    
 

3、CRUD

[c-sharp] view plaincopyprint?
  1. <?php    
  2. //新增     
  3. $user = array('name' => 'caleng''email' => 'admin@admin.com');    
  4. $collection->insert($user);    
  5.     
  6. //修改     
  7. $newdata = array('$set' => array("email" => "test@test.com"));    
  8. $collection->update(array("name" => "caleng"), $newdata);    
  9.     
  10. //删除     
  11. $collection->remove(array('name'=>'caleng'), array("justOne" => true));    
  12.     
  13. //查找     
  14. $cursor = $collection->find();    
  15. var_dump($cursor);    
  16.     
  17. //查找一条     
  18. $user = $collection->findOne(array('name' => 'caleng'), array('email'));    
  19. var_dump($user);    
  20. ?>    
 

4、关闭连接

[php] view plaincopyprint?
  1. <?php    
  2. $conn->close();    
  3. ?>    
 


原创粉丝点击