好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > PHP中的mongodb group操作實例

PHP中的mongodb group操作實例

熱門標簽:福州電銷機器人源代碼 機器人外呼系統軟件存在問題 沈陽營銷電銷機器人招商 高德地圖標注商戶位置 南京400電話怎樣辦理 徐州ai電銷機器人原理 企業智能外呼系統價格多少 兗州電話外呼營銷系統 智能電銷機器人銷售話術

緊接著上篇來,這篇主要講,mongodb的group功能,做的還是挺強大的,相當對于find(),skip(),distinct()等,用法比較復雜。

測試數據:

復制代碼 代碼如下:

> 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" } 

1、根據category分組

復制代碼 代碼如下:

> db.fruit.group( 
       { 
         key: { category: 1}, 
         reduce: function(obj, prev) { 
                     prev.items.push(obj.name); 
                 }, 
         initial: { items : [] } 
       } 
    ); 

        { 
                "category" : "fruit", 
                "items" : [ 
                        "apple", 
                        "peach", 
                        "banana" 
                ] 
        }, 
        { 
                "category" : "veggie", 
                "items" : [ 
                        "corn", 
                        "broccoli" 
                ] 
        } 
]

php代碼如下:

復制代碼 代碼如下:

$keys = array("category" => 1); 
$initial = array("items" => array()); 
$reduce = "function (obj, prev) { prev.items.push(obj.name); }"; 
$g = $collection->group($keys, $initial, $reduce); 
 
print_r($g);   //結果如下。 
 
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 
    [ok] => 1 
)

2、根據category來分組,并統計count

復制代碼 代碼如下:

> db.fruit.group( 
           { 
             key: { category: 1}, 
             cond: { _id: { $gt: 2 } }, 
             reduce: function(obj, prev) { 
                prev.items.push(obj.name); 
                prev.count++; 
             }, 
             initial: { items : [] ,count:0} 
           } 
        ); 

    { 
        "category" : "fruit", 
        "items" : [ 
            "banana" 
        ], 
        "count" : 1 
    }, 
    { 
        "category" : "veggie", 
        "items" : [ 
            "corn", 
            "broccoli" 
        ], 
        "count" : 2 
    } 
]

php代碼如下:

復制代碼 代碼如下:

$keys = array("category" => 1); 
$initial = array("items" => array(),'count'=>0); 
$reduce = "function (obj, prev) { " . 
              "prev.items.push(obj.name); " . 
              "prev.count++;" . 
          "}"; 
$condition = array('condition' => array("_id" => array( '$gt' => 2))); 
$g = $collection->group($keys, $initial, $reduce, $condition); 
 
print_r($g);   //結果如下。 
 
Array 

    [retval] => Array 
        ( 
            [0] => Array 
                ( 
                    [category] => fruit 
                    [items] => Array 
                        ( 
                            [0] => banana 
                        ) 
 
                    [count] => 1 
                ) 
 
            [1] => Array 
                ( 
                    [category] => veggie 
                    [items] => Array 
                        ( 
                            [0] => corn 
                            [1] => broccoli 
                        ) 
 
                    [count] => 2 
                ) 
        ) 
 
    [count] => 3 
    [keys] => 2 
    [ok] => 1 

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

復制代碼 代碼如下:

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

php代碼如下:

復制代碼 代碼如下:

$cond = array( 
    array( 
        '$match' => array('_id' => array('$gt' => 0)), 
    ), 
    array( 
        '$group' => array( 
            '_id' => '$category', 
           'count' => array('$sum' => 1), 
        ), 
    ), 
    array( 
        '$sort' => array("count" => -1), 
    ), 
); 
$result = $collection->aggregate($cond); 
print_r($result);    //結果如下: 
 
Array 

    [result] => Array 
        ( 
            [0] => Array 
                ( 
                    [_id] => fruit 
                    [count] => 3 
                ) 
 
            [1] => Array 
                ( 
                    [_id] => veggie 
                    [count] => 2 
                ) 
 
        ) 
 
    [ok] => 1 

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

您可能感興趣的文章:
  • PHP中安裝使用mongodb數據庫
  • PHP中MongoDB數據庫的連接、添加、修改、查詢、刪除等操作實例
  • Thinkphp使用mongodb數據庫實現多條件查詢方法
  • PHP實現的MongoDB數據庫操作類分享
  • PHP對MongoDB[NoSQL]數據庫的操作
  • 解析PHP中常見的mongodb查詢操作
  • php操作MongoDB基礎教程(連接、新增、修改、刪除、查詢)
  • 高效mongodb的php分頁類(不使用skip)
  • PHP7之Mongodb API使用詳解
  • PHP連接MongoDB示例代碼
  • php實現Mongodb自定義方式生成自增ID的方法
  • PHP數據庫操作四:mongodb用法分析

標簽:鶴崗 邯鄲 丹東 吉安 本溪 昭通 大理 景德鎮

巨人網絡通訊聲明:本文標題《PHP中的mongodb group操作實例》,本文關鍵詞  PHP,中的,mongodb,group,操作,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP中的mongodb group操作實例》相關的同類信息!
  • 本頁收集關于PHP中的mongodb group操作實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美+日韩+国产+无码+小说| 91色在线| aⅴ影片免费观看| 国产午夜福三级在线播放| 性中国xxxx孕妇| 黄色一级片网址| 日产mv和欧美mv的区别| 久久久久美女| 耽美高黄文| 被老板调教成浪货高H| 久久精品国产亚洲AV无码85| 我和学霸下面连在一起写作业 | 一本岛一区在线观看不卡| 女性女同性Aⅴ免费观女性恋| 欧美精产国品一二三产品在哪买| 被几个男人下药绑着玩调教| 动漫美女被啪羞羞动态图| 亚洲精品永久www国色天香| 日夜激情| 91精品国产福利尤物| av亚洲精品A片毛片女同公交车| 男人扒开添女人下部视频| 乱h伦亲女欧阳兰| 欧美AV无码高潮喷8888小说| 色yeye免费视频免费看| 狠狠精品干练AV视频| 男女粗暴进去120秒动态图| 不...不可以太快了| 久久毛片网| 欧美AV一区二区精品凹凸 | 激情午夜网| 诱惑法则深海先生| 女人被狂躁到高潮视频在线观看| 尤物视频一区| 日本午夜视频在线| 旧里番-[3D]最终幻想蒂法| 国产精品w灬无码1688在线| 公车揉捏h| 男女h视频| 麻豆影视在线直播观看| 美女抖胸|