mongodb php增删改查基本操作

  1. $mongo = new Mongo();  
  2. $db = $mongo->selectDB('test');  
  3. $collection = $db->selectCollection('foo');  
  4.   
  5.   
  6. //插入  
  7. $array = array('name'=>'张三','sex'=>'male');  
  8. $bool = $collection->insert($array);  
  9.   
  10. //更新  
  11. $where = array('name'=>'张三');  
  12. $newdata = array('name'=>'张三','sex'=>'female');  
  13. $bool = $collection->update($where,array('$set',$newdata));  
  14.   
  15.   
  16. //批量更新  
  17. $where = array('y'=>'9');  
  18. $newdata = array('y'=>10);  
  19. $bool = $collection->update($where,array('$set'=>$newdata),array("multiple" => true));  
  20.   
  21. //删除字段  
  22. $where = array('a'=>'1');  
  23. $bool = $collection->update(array('b'=>'t'),array('$unset'=>array('c'=>1)));  
  24. echo '
    ';var_dump($bool);exit;  
  25.   
  26. //$push  
  27. $bool = $collection->update(array('a'=>'1'),array('$push'=>array('c'=>'wow')));  
  28. echo '
    ';var_dump($bool);exit;  
  29.   
  30. //删除文档  
  31. $where = array('name'=>'张三');  
  32. $bool = $collection->remove($where);  
  33.   
  34.   
  35. //group  
  36. $keys = array("category" => 1);  
  37. $initial = array("count" => 0);  
  38. $reduce = "function (obj, prev) { prev.count++ }";  
  39.   
  40. $condition = array('condition' => array('category' => array( '$exists' => 1)));  
  41.   
  42. $g = $collection->group($keys, $initial, $reduce, $condition);  
  43. echo '
    ';print_r($g);exit;  
  44.   
  45.   
  46. //distinct  
  47. $retval = $collection->distinct("zip-code",array('stuff'=>'foo'));  
  48.   
  49.   
  50.   
  51.   
  52. //查询,sort  
  53. $where = array('y'=>array('$exists'=>true,'$gte'=>5,'$lt'=>10));  
  54. $result = $collection->find($where)->sort(array('y'=>-1));  
  55. $arr = array();  
  56. foreach($result as $key=>$value){  
  57.         $arr[] = $value;  
  58. }  
  59.   
  60. echo '
    ';print_r($arr);  
posted @   狂猫  阅读(118)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示