澳门威尼斯人注册网址【官网首页】
做最好的网站

group操作实例_MongoDB_脚本之家

来源:http://www.ogcoffee123.com 作者: 服务器&运维 人气:109 发布时间:2019-12-01
摘要:category1_images php代码如下:复制代码 代码如下:$keys =array; $initial = array; $reduce = "function { prev.items.push; }"; $g =$collection-group($keys, $initial, $reduce); print_r; //结果如下。Array ( [retval] = Array ( [0

category1_images

php代码如下:复制代码 代码如下:$keys = array; $initial = array; $reduce = "function { prev.items.push; }"; $g = $collection->group($keys, $initial, $reduce); print_r; //结果如下。 Array ( [retval] => Array ( [0] => Array ( [category] => fruit [items] => Array ( [0] => apple [1] => peach [2] => banana ) ) [1] => Array ( [category] => veggie [items] => Array ( [0] => corn [1] => broccoli ) ) ) [count] => 5 [keys] => 2 [group操作实例_MongoDB_脚本之家。ok] => 1 )

今天外面刮着呼呼的大风,能在一个温暖的小屋写着博客也是北漂的一种幸福。好了废话不多说,今天主要说一下php连接、操作mongodb,如果你没有看上两期的内容,不知道如何安装php对mongodb的扩展的话请您返回去看《php对mongodb的扩展 》和《php对mongodb的扩展》 。 php 连接mongodb 复制代码 代码如下: try { $mongo = new Mongo("mongodb://username:password@127.0.0.1:27017/db1"); }catch(MongoConnectionException $e) { print $e->getMessage(); exit; } 选择数据库blog 复制代码 代码如下: $db = $mongo->blog; 关闭数据库 复制代码 代码如下: $conn->close(); 选择操作集合 $collection = $db->users; 插入数据 复制代码 代码如下: $user = array('name' => 'caleng', 'city' => 'beijing'); $collection->insert; 修改数据 复制代码 代码如下: $newdata = array('$set' => array); $collection->update(array, $newdata); 删除数据 复制代码 代码如下: $collection->remove(array, array; 查找数据 查找一条数据 复制代码 代码如下: $result= $collection->findone(array; 查询一个列表 复制代码 代码如下: //找出创建时间大于某一时间的数据 $start = 1; $counditionarray=array("ctime"=>array; $list_data = $this->game_handle->find; $total = $this->game_handle->count; $list_data->limit; //数据结束位置 $list_data->skip; //数据开始取的位置 var_dump; in查询 复制代码 代码如下: $cursor = $collection->find(array( 'name' => array('$in' => array; group查询 复制代码 代码如下: $collection->insert(array("category" => "fruit", "name" => "apple")); $collection->insert(array("category" => "fruit", "name" => "peach")); $collection->insert(array("category" => "fruit", "name" => "banana")); $collection->insert(array("category" => "veggie", "name" => "corn")); $collection->insert(array("category" => "veggie", "name" => "broccoli")); $keys = array; $initial = array; $reduce = "function { prev.items.push; }"; $g = $collection->group($keys, $initial, $reduce); echo json_group操作实例_MongoDB_脚本之家。encode; 输出结果: 复制代码 代码如下: [{"category":"fruit","items":["apple","peach","banana"]},{"category":"veggie","items":["corn","broccoli"]}] 可以看出得到的结果是一个二维 数组 复制代码 代码如下: array( 0 => array("category" =>"fruit", "items"=>array("apple","peach","banana")), 1 => array("category" =>"veggie", "items"=>array 在这里这写了一些简单的操作,如果您想用php更好的作用mongodb 那就看手册吧。

category1_name

复制代码 代码如下:> db.fruit.aggregate([ { $match: { _id: {$gt:0} } }, { $group: { _id: "$category", count: { $sum: 1 } } }, { $sort: { count: -1 } } ]); { "_id" : "fruit", "count" : 3 } { "_id" : "veggie", "count" : 2 }

下一页上一页

3、利用aggregate group功能,也挺强大

下午有个朋友问json 数据怎么分页 就捣鼓了一个东东出来

mongodb 的select 操作有很多,在这里,只是说了一些常用的功能。

下面直接代码:复制代码 代码如下:

2、根据category来分组,并统计count

category1_intro

测试数据:复制代码 代码如下:> db.fruit.find(); { "_id" : 1, "category" : "fruit", "name" : "apple" } { "_id" : 2, "category" : "fruit", "name" : "peach" } { "_id" : 3, "category" : "fruit", "name" : "banana" } { "_id" : 4, "category" : "veggie", "name" : "corn" } { "_id" : 5, "category" : "veggie", "name" : "broccoli" }

category1_id

1、根据category分组复制代码 代码如下:> db.fruit.group( { key: { category: 1}, reduce: function { prev.items.push; }, initial: { items : [] } } ); [ { "category" : "fruit", "items" : [ "apple", "peach", "banana" ] }, { "category" : "veggie", "items" : [ "corn", "broccoli" ] } ]

无标题文档

紧接着上篇来,这篇主要讲,mongodb的group功能,做的还是挺强大的,相当对于find等,用法比较复杂。

复制代码 代码如下:> db.fruit.group( { key: { category: 1}, cond: { _id: { $gt: 2 } }, reduce: function { prev.items.push; prev.count++; }, initial: { items : [] ,count:0} } ); [ { "category" : "fruit", "items" : [ "banana" ], "count" : 1 }, { "category" : "veggie", "items" : [ "corn", "broccoli" ], "count" : 2 } ]

php代码如下:复制代码 代码如下:$cond = array( array( '$match' => array('_id' => array, array( '$group' => array( '_id' => '$category', 'count' => array, array( '$sort' => array; $result = $collection->aggregate; print_r; //结果如下: Array ( [result] => Array ( [0] => Array ( [_id] => fruit [count] => 3 ) [1] => Array ( [_id] => veggie [count] => 2 ) ) [ok] => 1 )

复制代码 代码如下:$keys = array; $initial = array,'count'=>0); $reduce = "function { " . "prev.items.push; " . "prev.count++;" . "}"; $condition = array('condition' => array("_id" => array; $g = $collection->group($keys, $initial, $reduce, $condition); print_r; //结果如下。 Array ( [retval] => Array ( [0] => Array ( [category] => fruit [items] => Array [count] => 1 ) [1] => Array ( [category] => veggie [items] => Array ( [0] => corn [1] => broccoli ) [count] => 2 ) ) [count] => 3 [keys] => 2 [ok] => 1 )

本文由澳门威尼斯人注册网址发布于 服务器&运维,转载请注明出处:group操作实例_MongoDB_脚本之家

关键词:

上一篇:js获取钦赐的cookie的切实可行落成

下一篇:没有了

最火资讯