国产麻豆精品视频-国产麻豆精品免费视频-国产麻豆精品免费密入口-国产麻豆精品高清在线播放-国产麻豆精品hdvideoss-国产麻豆精品

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

MongoDB新的數據統計框架介紹

發布時間:  2012/8/31 17:35:01

目前的MongoDB在進行復雜的數據統計計算時都需要寫MapReduce來實現,包括在SQL中比較常用的group by查詢也需要寫一個reduce才能實現,這是比較麻煩的。在MongoDB2.1中,將會引入一套全新的數據統計計算框架,讓用戶更方便的進行統計操作。
-
 

下面我們就來看看幾個新的操作符:

$match
$match的作用是過濾數據,通過設置一個條件,將數據進行篩選過濾,例子:

db.runCommand({ aggregate : "article", pipeline : [
    { $match : { author : "dave" } }
]});這相當于將article這個collection中的記錄進行篩選,篩選條件是author屬性值為dave,其作用其實相當于普通的find命令,如:

> db.article.find({ author : "dave" });
所以,那這個命令有什么用呢?與find不同,find的結果是直接作為最終數據返回,而$match只是pipeline中的一環,它篩選的結果數據可以再進行下一級的統計操作。

$project
$project命令用于設定數據的篩選字段,就像我們SQL中select需要的字段一樣。例子:

db.runCommand({ aggregate : "article", pipeline : [
    { $match : { author : "dave" } },
    { $project : {
        _id : 0,
 author : 1,
        tags : 1
    }}
]});上面就是將所有author為dave的記錄的author和tags兩個字段取出來。(_id:0 表示去掉默認會返回的_id字段)

其實上面這個功能也能用我們平時用的find命令來實現,如:

> db.article.find({ author : "dave" }, { _id : 0, author : 1, tags : 1);
$unwind
$unwind命令很神奇,他可以將某一個為array類型字段的數據拆分成多條,每一條包含array中的一個屬性。
比如你使用下面命令添加一條記錄:

db.article.save( {
    title : "this is your title" ,
    author : "dave" ,
    posted : new Date(4121381470000) ,
    pageViews : 7 ,
    tags : [ "fun" , "nasty" ] ,
    comments : [
        { author :"barbara" , text : "this is interesting" } ,
        { author :"jenny" , text : "i like to play pinball", votes: 10 }
    ],
    other : { bar : 14 }
});這里面tags字段就是一個array。下面我們在這個字段上應用$unwind操作

db.runCommand({ aggregate : "article", pipeline : [
    { $unwind : "$tags" }
]});上面命令的意思就是按tags字段來拆分,此命令執行的結果如下:

{
        "result" : [
                {
                        "_id" : ObjectId("4eeeb5fef09a7c9170df094b"),
                        "title" : "this is your title",
                        "author" : "dave",
                        "posted" : ISODate("2100-08-08T04:11:10Z"),
                        "pageViews" : 7,
                        "tags" : "fun",
                        "comments" : [
                                {
                                        "author" : "barbara",
                                        "text" : "this is interesting"
                                },
                                {
                                        "author" : "jenny",
                                        "text" : "i like to play pinball",
                                        "votes" : 10
                                }
                        ],
                        "other" : {
                                "bar" : 14
                        }
                },
                {
                        "_id" : ObjectId("4eeeb5fef09a7c9170df094b"),
                        "title" : "this is your title",
                        "author" : "dave",
                        "posted" : ISODate("2100-08-08T04:11:10Z"),
                        "pageViews" : 7,
                        "tags" : "nasty",
                        "comments" : [
                                {
                                        "author" : "barbara",
                                        "text" : "this is interesting"
                                },
                                {
                                        "author" : "jenny",
                                        "text" : "i like to play pinball",
                                        "votes" : 10
                                }
                        ],
                        "other" : {
                                "bar" : 14
                        }
                }
        ],
        "ok" : 1
}我們可以看到,原來的tags字段是一個包含兩個元素的數組,通過$unwind命令后,被拆分成兩條記錄,每一條記錄的tags字段是原來數組中的一個元素。

$group
$group命令比較好理解,功能就是按某一個key將key值相同的多條數據組織成一條。
比如我們使用下面命令再往article這個collection中寫入一條記錄,這時候我們就有兩條記錄了:

db.article.save( {
    title : "this is some other title" ,
    author : "jane" ,
    posted : new Date(978239834000) ,
    pageViews : 6 ,
    tags : [ "nasty" , "filthy" ] ,
    comments : [
        { author :"will" , text : "i don't like the color" } ,
        { author :"jenny" , text : "can i get that in green?" }
    ],
    other : { bar : 14 }
});我們可以先用上面的$unwind按tags將記錄拆成多條,然后再將記錄按tags字段重新組織,將同一個tag對應的所有author放在一個array中。只需要像下面這樣寫:

db.runCommand({ aggregate : "article", pipeline : [
    { $unwind : "$tags" },
    { $group : {
 _id : "$tags",
        count : { $sum : 1 },
 authors : { $addToSet : "$author" }
    }}
]});這時候你就能得到如下結果了

{
        "result" : [
                {
                        "_id" : "filthy",
                        "count" : 1,
                        "authors" : [
                                "jane"
                        ]
                },
                {
                        "_id" : "fun",
                        "count" : 1,
                        "authors" : [
                                "dave"
                        ]
                },
                {
                        "_id" : "nasty",
                        "count" : 2,
                        "authors" : [
                                "jane",
                                "dave"
                        ]
                }
        ],
        "ok" : 1
}上面是2.1版本將會推出的一些新的統計類命令的介紹,在易用性方面它們提供給我們很多便利,但是MongoDB MapReduce的最大硬傷,單個mongod中無法并行執行,貌似還是沒有解決。雖然其命令中采用了pipeline 的組織模式,但是貌似還是完全串行且分降段完成的。


本文出自:億恩科技【www.artduck.net】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線

     
     
    欧美国产日韩在线| 亚洲精品中文一区不卡| 国产极品白嫩美女在线观看看| 国产伦久视频免费观看视频| 国产福利免费观看| 九九久久国产精品| 一a一级片| 欧美激情伊人| 九九干| 精品国产一区二区三区国产馆| 国产网站免费在线观看| 青青青草影院 | 亚州视频一区二区| 精品视频在线观看一区二区| 青青青草影院| 日韩欧美一及在线播放| 国产网站在线| 久草免费在线色站| 久久久成人影院| 台湾毛片| 色综合久久天天综合观看| 国产91丝袜在线播放0| 国产成a人片在线观看视频| 久久国产影视免费精品| 欧美日本免费| 日韩一级黄色片| 国产网站麻豆精品视频| 久久国产精品自线拍免费| 国产视频一区二区在线观看| 精品久久久久久中文字幕一区 | 四虎影视久久| a级精品九九九大片免费看| 国产亚洲男人的天堂在线观看| a级精品九九九大片免费看| 久久精品欧美一区二区| 黄色免费网站在线| 天堂网中文字幕| 国产不卡精品一区二区三区| 日韩中文字幕一区| 尤物视频网站在线观看| 四虎久久精品国产| 国产成人精品在线| 91麻豆精品国产高清在线| 欧美电影免费看大全| 精品久久久久久综合网| 成人免费观看男女羞羞视频| 精品国产亚洲人成在线| 国产美女在线观看| 91麻豆爱豆果冻天美星空| 国产成人精品综合在线| a级毛片免费全部播放| 亚洲 男人 天堂| 国产麻豆精品| 欧美一区二区三区性| 成人在激情在线视频| 国产精品自拍在线| 国产国语对白一级毛片| 亚洲不卡一区二区三区在线 | 91麻豆国产级在线| 久久国产精品永久免费网站| 国产网站在线| 国产网站免费视频| 精品在线视频播放| 国产网站免费视频| 国产高清在线精品一区a| 成人免费高清视频| 午夜激情视频在线播放| 日韩欧美一二三区| 日本在线不卡视频| 亚洲 男人 天堂| 国产精品123| 国产一区二区精品久久| 黄视频网站免费| 日本在线www| 日韩在线观看视频免费| 午夜在线观看视频免费 成人| 久草免费资源| 一本伊大人香蕉高清在线观看| 国产极品精频在线观看| 97视频免费在线| 日韩欧美一二三区| 青青青草影院 | 日日夜人人澡人人澡人人看免| 午夜在线影院| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 青青久久精品国产免费看| 久久精品店| 毛片高清| 毛片成人永久免费视频| 亚洲 男人 天堂| 欧美另类videosbestsex| 免费国产在线观看| 国产精品免费久久| 国产视频一区二区在线观看| 一本高清在线| 国产极品精频在线观看| 欧美激情伊人| 久草免费在线色站| 国产91精品一区二区| 999久久狠狠免费精品| 一a一级片| 国产成人精品一区二区视频| 麻豆午夜视频| 精品国产亚洲人成在线| 国产视频一区二区三区四区| 国产一区二区精品在线观看| 国产不卡在线看| 国产成人女人在线视频观看| 亚洲精品中文一区不卡| 青青青草影院| 欧美日本免费| 国产a免费观看| 91麻豆国产| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久精品大片| 精品视频免费在线| 精品国产一区二区三区久| 日韩在线观看视频黄| 亚欧成人毛片一区二区三区四区| 国产亚洲精品aaa大片| 韩国三级香港三级日本三级| 99久久网站| 欧美一级视频免费观看| 国产一区二区高清视频| 亚洲女人国产香蕉久久精品| 亚洲精品中文一区不卡| 99久久网站| 色综合久久天天综合观看| 久久久久久久网| 日本免费区| 国产91精品系列在线观看| 久久99青青久久99久久| 久久福利影视| 国产成人精品影视| 一级女性全黄生活片免费| 免费毛片播放| 国产不卡高清在线观看视频| 国产欧美精品| 青青久在线视频| 欧美18性精品| 99久久精品国产麻豆| 四虎影视库国产精品一区| 亚飞与亚基在线观看| 免费一级片在线观看| 九九精品在线播放| 亚欧视频在线| 亚欧成人毛片一区二区三区四区| 精品视频在线看 | 国产网站麻豆精品视频| 尤物视频网站在线观看| 一a一级片| 国产极品白嫩美女在线观看看| 国产一区二区精品久久91| 99久久网站| 亚洲精品中文字幕久久久久久| 日韩男人天堂| 精品国产一区二区三区久| 999精品在线| 欧美18性精品| 欧美一区二区三区在线观看| 欧美日本韩国| 色综合久久天天综合绕观看| 99热精品在线| 台湾美女古装一级毛片| 日本免费乱理伦片在线观看2018| 亚洲女人国产香蕉久久精品 | 国产精品免费久久| 日本免费区| 九九久久99综合一区二区| 国产一区二区精品久久91| 尤物视频网站在线| 国产伦理精品| 午夜欧美成人久久久久久| 99久久精品国产片| 麻豆网站在线免费观看| 国产高清在线精品一区a| 欧美一区二区三区在线观看| 日韩字幕在线| 一级女性全黄久久生活片| 国产麻豆精品hdvideoss| 亚欧成人毛片一区二区三区四区| 久久国产精品只做精品| 九九精品久久久久久久久| 国产不卡精品一区二区三区| 成人a大片在线观看| 欧美激情一区二区三区视频 | 国产91视频网| 日韩av片免费播放| 午夜在线影院| 免费国产在线观看| 国产一区二区精品尤物| 四虎影视库| 天天做日日爱| 国产一级生活片| 日韩专区在线播放| 亚洲精品影院| 免费毛片播放| 国产不卡精品一区二区三区| 国产麻豆精品视频|