国产精品久久久久久久久久久新郎_91久久精品国产_国内精品久久久久久_欧美激情第一页在线观看_国产欧美日韩丝袜精品一区_日韩精品成人一区二区在线观看_国产精品v片在线观看不卡_91精品国产综合久久香蕉最新版 _国产精品亚洲激情_色综合男人天堂

始創于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.czbl888.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!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小時客服服務熱線

     
     
    国产精品久久久久久久久久久新郎_91久久精品国产_国内精品久久久久久_欧美激情第一页在线观看_国产欧美日韩丝袜精品一区_日韩精品成人一区二区在线观看_国产精品v片在线观看不卡_91精品国产综合久久香蕉最新版 _国产精品亚洲激情_色综合男人天堂
    久久这里只有精品23| 国产欧美激情视频| 日韩va在线观看| 青青草av网站| 免费大片在线观看| 男人添女人下面高潮视频| 日韩国产成人无码av毛片| 特色特色大片在线| 日韩视频在线免费播放| 日本高清一区二区视频| 九九九九九伊人| 亚洲制服中文字幕| 做a视频在线观看| 三级黄色片播放| 视频区 图片区 小说区| 日本精品一区在线| 欧美在线a视频| 浴室偷拍美女洗澡456在线| 好色先生视频污| 日韩美女爱爱视频| 日韩伦理在线免费观看| 日韩av在线第一页| 999香蕉视频| 鲁一鲁一鲁一鲁一av| 在线观看免费不卡av| 久久人人爽人人片| 8x8ⅹ国产精品一区二区二区| 神马午夜伦理影院| 久久艹国产精品| 男人操女人逼免费视频| 国产精品69页| 日韩成人av免费| 黄色a级片免费看| 动漫av网站免费观看| 色婷婷综合久久久久中文字幕| 三级在线免费看| 亚洲午夜精品一区| 久久久国内精品| 青青青在线播放| 中文字幕亚洲欧洲| 国产日韩欧美大片| 免费无码毛片一区二三区| 成年人免费大片| 一级一片免费播放| 成人午夜视频在线观看免费| 18岁视频在线观看| 欧美日韩理论片| 69sex久久精品国产麻豆| 999香蕉视频| 先锋影音男人资源| 成年网站在线免费观看| 午夜精品免费看| 99色这里只有精品| 无尽裸体动漫2d在线观看| 免费视频爱爱太爽了| 男人透女人免费视频| gogogo免费高清日本写真| 无码专区aaaaaa免费视频| 欧美三级午夜理伦三级富婆| 久草视频这里只有精品| 成人免费在线观看视频网站| 成人午夜视频免费观看| 天堂在线资源视频| 人妻互换免费中文字幕| 国产福利在线免费| 3d动漫一区二区三区| 亚洲一二三av| 日本熟妇人妻xxxxx| 国产精品av免费观看| 亚洲人辣妹窥探嘘嘘| 国产中文字幕乱人伦在线观看| 中文字幕 91| 国产男女无遮挡| 99热这里只有精品7| av无码精品一区二区三区| 日本人妻伦在线中文字幕| 国产精品久久久毛片| 午夜免费福利小电影| 成人性做爰片免费视频| 日韩av在线中文| 爱福利视频一区二区| 在线播放 亚洲| 男女无套免费视频网站动漫| 免费看日本毛片| 日本一区二区三区四区五区六区| 成人亚洲精品777777大片| 91专区在线观看| 日本一二三区视频在线| 亚洲黄色av片| 青青在线免费观看视频| 免费成人在线视频网站| 欧美一区二区激情| 特级西西444| 亚欧美一区二区三区| 三上悠亚在线一区二区| 日韩视频在线免费看| 国内自拍在线观看| 国产日韩亚洲欧美在线| 中文字幕日韩精品无码内射| 欧美国产日韩在线视频| 国产欧美激情视频| 中文字幕成人免费视频| 天天综合网日韩| 三年中国国语在线播放免费| 国产成人精品无码播放| 男人天堂网视频| 日韩人妻精品无码一区二区三区| 国自产拍偷拍精品啪啪一区二区| 久久99久久99精品| 天堂8在线天堂资源bt| www插插插无码免费视频网站| 狠狠噜天天噜日日噜| www.国产二区| 欧洲精品在线播放| 黄色一级片在线看| 人妻夜夜添夜夜无码av| 成人精品视频在线播放| 欧美午夜性视频| 国产97在线 | 亚洲| 自慰无码一区二区三区| 亚洲色成人一区二区三区小说| 免费一级特黄特色毛片久久看| 91免费黄视频| 黄色免费福利视频| 国产精品久久中文字幕| 国产精品宾馆在线精品酒店| 日本一区二区黄色| 激情婷婷综合网| 亚洲国产成人va在线观看麻豆| 999这里有精品| 永久av免费在线观看| 91xxx视频| 福利视频一二区| 久久美女福利视频| 免费激情视频在线观看| 日韩av片网站| 图片区乱熟图片区亚洲| 麻豆视频传媒入口| 日日摸日日碰夜夜爽无码| 妞干网在线免费视频| 日韩av片网站| 亚洲最新免费视频| 欧美精品卡一卡二| 成人性生生活性生交12| 国产成人强伦免费视频网站| 老太脱裤子让老头玩xxxxx| 911福利视频| 日韩va在线观看| 欧美成人三级在线播放| 玖玖爱视频在线| 老司机午夜网站| 欧美综合在线播放| caopor在线视频| 亚洲黄色网址在线观看| 日韩日韩日韩日韩日韩| 欧美 日韩精品| av在线观看地址| 黄色av免费在线播放| 免费成年人高清视频| 91精品国产毛片武则天| 精品少妇一区二区三区在线| 日本在线一二三区| 青青在线视频免费观看| 99视频在线免费| 欧美日韩在线免费观看视频| 欧美日韩精品在线一区二区 | 欧美 国产 日本| 欧美视频国产视频| 国产片侵犯亲女视频播放| 黄色动漫在线免费看| 九色porny自拍| 青春草国产视频| 黄色一级片国产| 国产日本欧美在线| 手机在线免费观看毛片| 日韩高清在线一区二区| 免费av手机在线观看| 亚洲综合在线网站| 国产911在线观看| 蜜臀视频一区二区三区| 中文字幕一区二区三区四区五区人| 国产原创popny丨九色| 国产永久免费网站| 欧美性大战久久久久xxx| 亚洲黄色网址在线观看| 欧美日韩怡红院| 国产欧美日韩小视频| 天堂中文av在线| 麻豆av免费在线| 妞干网视频在线观看| 亚洲免费黄色网| 亚洲美免无码中文字幕在线| 亚洲国产精品影视| 午夜视频你懂的| 国产乱子伦农村叉叉叉| 男女爱爱视频网站| 国产三级生活片| 天堂中文视频在线| 男人操女人逼免费视频| 国产尤物av一区二区三区|