注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

zjcjack的博客

 
 
 

日志

 
 

MongoDB PHP API 及用法  

2012-03-13 11:43:32|  分类: nosql |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
上篇说过如何安装php - Mongo扩展,现在说一下MongoDB PHP API  及用法 

先看一个简单的例子: 
Php代码  收藏代码
  1. <?php  
  2.  $m = new Mongo();      //这里采用默认连接本机的27017端口,当然你也可以连接远程主机如                   192.168.0.4:27017,如果端口是27017,端口可以省略  
  3.   
  4. $db = $m -> comedy;             // 选择comedy数据库,如果以前没该数据库会自动创建,也可以用$m->selectDB("comedy");  
  5.   
  6. $collection = $db->collection;  //选择comedy里面的collection集合,相当于RDBMS里面的表,也-可以使用  
  7. $db->selectCollection("collection");  
  8. /*********添加一个元素**************/  
  9. $obj = array"title" => "Calvin and Hobbes""author" => "Bill Watterson" );  
  10.   
  11. $collection->insert($obj);     //将$obj 添加到$collection 集合中  
  12.   
  13. /*********添加另一个元素**************/  
  14. $obj = array"title" => "XKCD""online" => true );  
  15. $collection->insert($obj);  
  16. $cursor = $collection->find();  
  17.   
  18. foreach ($cursor as $obj) {    //遍历所有集合中的文档  
  19. echo $obj["title"] . "\n";  
  20. }  
  21.   
  22.   
  23. $m->close();          //断开MongoDB连接  


下面在介绍一些常用的函数: 
Php代码  收藏代码
  1. $query = array"i" => 71 );  
  2. $cursor = $collection->find( $query );      // 在$collectio集合中查找满足$query的文档  
  3.   
  4. while$cursor->hasNext() ) {  
  5. var_dump( $cursor->getNext() );  
  6. }  
  7.   
  8. $collection -> findOne();            //返回$collection集合中第一个文档  
  9.   
  10. $collection -> count();              //返回$collection集合中文档的数量  
  11. $coll->ensureIndex( array"i" => 1 ) );  // 为i “这一列”加索引 降序排列  
  12. $coll->ensureIndex( array"i" => -1, "j" => 1 ) );  // 为i “这一列”加索引 降序排列 j升序  


查询时,每个Object插入时都会自动生成一个独特的_id,它相当于RDBMS中的主键,用于查询时非常方便 
如: 
Php代码  收藏代码
  1. <?php  
  2.   
  3. $person = array("name" => "joe");  
  4.   
  5. $people->insert($person);  
  6.   
  7.  $joe = $people->findOne(array("_id" => $person['_id']));  
  8.   
  9. ?>  

更新时: 

假如我们想修改下面文档中comments中author的名字 
Php代码  收藏代码
  1. {   
  2.     "_id" : ObjectId("4b06c282edb87a281e09dad9"),   
  3.     "content" : "this is a blog post.",  
  4.     "comments" :   
  5.     [  
  6.         {  
  7.             "author" : "Mike",  
  8.             "comment" : "I think that blah blah blah...",  
  9.         },  
  10.         {  
  11.             "author" : "John",  
  12.             "comment" : "I disagree."  
  13.         }  
  14.     ]  
  15. }  


为了改变内部的一个域, 我们用 $set (保证文档中其他域不被移除)并且comment的索引也变化 
Php代码  收藏代码
  1. <?php  
  2.   
  3. $collection->update($criteriaarray('$set' => array("comments.1" => array("author" => "Jim")))); //$criteria 为要更新的元素  
  4.   
  5. ?>  

删除一个数据库 
Php代码  收藏代码
  1. $m -> dropDB("comedy");  


列出所有可用数据库 
Php代码  收藏代码
  1. $m->listDBs();   //无返回值  

好了就先 写这么多了,有兴趣的话可以在网上搜到其他的关于Mongo-php API的用法!
  评论这张
 
阅读(214)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017