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

主頁 > 知識庫 > MongoDB教程之聚合(count、distinct和group)

MongoDB教程之聚合(count、distinct和group)

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

1. count:

復制代碼 代碼如下:

    --在空集合中,count返回的數量為0。
    > db.test.count()
    0
    --測試插入一個文檔后count的返回值。
    > db.test.insert({"test":1})
    > db.test.count()
    1
    > db.test.insert({"test":2})
    > db.test.count()
    2
    --count和find一樣,也接受條件。從結果可以看出,只有符合條件的文檔參與了計算。
    > db.test.count({"test":1})
    1
    
2. distinct:

    distinct用來找出給定鍵的所有不同的值。使用時也必須指定集合和鍵。
 

復制代碼 代碼如下:

    --為了便于后面的測試,先清空測試集合。
    > db.test.remove()
    > db.test.count()
    0
    --插入4條測試數據。請留意Age字段。
    > db.test.insert({"name":"Ada", "age":20})
    > db.test.insert({"name":"Fred", "age":35})
    > db.test.insert({"name":"Andy", "age":35})
    > db.test.insert({"name":"Susan", "age":60})
    --distinct命令必須指定集合名稱,如test,以及需要區分的字段,如:age。
    --下面的命令將基于test集合中的age字段執行distinct命令。
    > db.runCommand({"distinct":"test", "key":"age"})
    {
            "values" : [
                    20,
                    35,
                    60
            ],
            "stats" : {
                    "n" : 4,
                    "nscanned" : 4,
                    "nscannedObjects" : 4,
                    "timems" : 0,
                    "cursor" : "BasicCursor"
            },
            "ok" : 1
    }   

3. group:
    group做的聚合有些復雜。先選定分組所依據的鍵,此后MongoDB就會將集合依據選定鍵值的不同分成若干組。然后可以通過聚合每一組內的文檔,產生一個結果文檔。
 
復制代碼 代碼如下:

    --這里是準備的測試數據
    > db.test.remove()
    > db.test.insert({"day" : "2012-08-20", "time" : "2012-08-20 03:20:40", "price" : 4.23})
    > db.test.insert({"day" : "2012-08-21", "time" : "2012-08-21 11:28:00", "price" : 4.27})
    > db.test.insert({"day" : "2012-08-20", "time" : "2012-08-20 05:00:00", "price" : 4.10})
    > db.test.insert({"day" : "2012-08-22", "time" : "2012-08-22 05:26:00", "price" : 4.30})
    > db.test.insert({"day" : "2012-08-21", "time" : "2012-08-21 08:34:00", "price" : 4.01})
    --這里將用day作為group的分組鍵,然后取出time鍵值為最新時間戳的文檔,同時也取出該文檔的price鍵值。
    > db.test.group( {
    ... "key" : {"day":true},           --如果是多個字段,可以為{"f1":true,"f2":true}
    ... "initial" : {"time" : "0"},       --initial表示$reduce函數參數prev的初始值。每個組都有一份該初始值。
    ... "$reduce" : function(doc,prev) {  --reduce函數接受兩個參數,doc表示正在迭代的當前文檔,prev表示累加器文檔。
    ...     if (doc.time > prev.time) {
    ...         prev.day = doc.day
    ...         prev.price = doc.price;
    ...         prev.time = doc.time;
    ...     }
    ... } } )
    [
        {
            "day" : "2012-08-20",
            "time" : "2012-08-20 05:00:00",
            "price" : 4.1
        },
        {
            "day" : "2012-08-21",
            "time" : "2012-08-21 11:28:00",
            "price" : 4.27
        },
        {
            "day" : "2012-08-22",
            "time" : "2012-08-22 05:26:00",
            "price" : 4.3
        }
    ]
    --下面的例子是統計每個分組內文檔的數量。
    > db.test.group( {
    ... key: { day: true},
    ... initial: {count: 0},
    ... reduce: function(obj,prev){ prev.count++;},
    ... } )
    [
        {
            "day" : "2012-08-20",
            "count" : 2
        },
        {
            "day" : "2012-08-21",
            "count" : 2
        },
        {
            "day" : "2012-08-22",
            "count" : 1
        }
    ]
    --最后一個是通過完成器修改reduce結果的例子。
    > db.test.group( {
    ... key: { day: true},
    ... initial: {count: 0},
    ... reduce: function(obj,prev){ prev.count++;},
    ... finalize: function(out){ out.scaledCount = out.count * 10 } --在結果文檔中新增一個鍵。
    ... } )
    [
        {
            "day" : "2012-08-20",
            "count" : 2,
            "scaledCount" : 20
        },
        {
            "day" : "2012-08-21",
            "count" : 2,
            "scaledCount" : 20
        },
        {
            "day" : "2012-08-22",
            "count" : 1,
            "scaledCount" : 10
        }   
    ]


您可能感興趣的文章:
  • Mongodb聚合函數count、distinct、group如何實現數據聚合操作
  • MongoDB聚合group的操作指南

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

巨人網絡通訊聲明:本文標題《MongoDB教程之聚合(count、distinct和group)》,本文關鍵詞  MongoDB,教程,之,聚合,count,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MongoDB教程之聚合(count、distinct和group)》相關的同類信息!
  • 本頁收集關于MongoDB教程之聚合(count、distinct和group)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 沟厕一个接一个美女撒尿| 日韩一级不卡| 在线观看免费播放黄污| 妖精动漫免费登录页面看漫画下载| 国产五区| 一个漂亮大学生有奶水小说| 2024国产精品一二二线| a毛片免费全部播放**| x8x8在线观看| 大肉大捧一进一出好爽mba| 99久久国产精品免费制片| 《浴室吃奶》韩国电影| 国产精品亚洲AV无人区| 免费搞黄视频| 羞羞色tv| 孕妇一级片| 100000部拍拍拍免费国产| 日本中文字幕在线| 久久久久久精品免费看A级| 强制露双奶头惩罚S M | 亚洲国产精品人久久| 国产**毛片| 国产精品久久久久久久9999| 男男又爽?又黄?3D一区二区| 四爱cao烂屁股眼h穿尿不湿| 欧美a一级| 精品综合99久久| 日本高清视频免费v| 被粗jib捣出了白浆高清| 又粗又爽高潮午夜免费视频| 国产一区二区三区探花文轩| 1024手机看片国产旧版你懂的| 亚洲春色AV无码专区456| 荷兰妓女做爰XXXⅩ性| 涩涩爱97| 国产午夜一级毛片a级| 国产VA精品免费观看剧情介绍| 女人又爽?又黄?视频| 色AV在线香蕉国产亚洲| 亚洲欧美一区二区| 717影院午夜伦不卡电影|