婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > mongodb中按天進(jìn)行聚合查詢的實(shí)例教程

mongodb中按天進(jìn)行聚合查詢的實(shí)例教程

熱門標(biāo)簽:呼和浩特電銷外呼系統(tǒng)加盟 蘋果汽車租賃店地圖標(biāo)注 電銷機(jī)器人是什么軟件 怎么投訴地圖標(biāo)注 濟(jì)南電銷機(jī)器人加盟公司 云南外呼系統(tǒng) 老虎洗衣店地圖標(biāo)注 杭州人工電銷機(jī)器人價(jià)格 廣州長安公司怎樣申請400電話

前言

最近在寫項(xiàng)目的時(shí)候遇到一個(gè)問題,使用mongodb記錄了用例的執(zhí)行結(jié)果,但是在時(shí)間的記錄上使用的是date格式,現(xiàn)在有一個(gè)需求,以天為單位,統(tǒng)計(jì)一下每天成功的用例和失敗的用例,說到統(tǒng)計(jì),肯定是要用到聚合查詢,但是如果以date格式的時(shí)間為group依據(jù),那么等同于沒有分組,因?yàn)樵谟涗浻美臅r(shí)間幾乎不可能同時(shí),今天查閱了一下相關(guān)文檔,可以使用mongodb的$dateToString命令來完成這個(gè)需求

問題來源

假如我們以如下的數(shù)據(jù)

/* 1 */
{
 "_id" : ObjectId("5d24c09651a456efbc231669"),
 "time" : ISODate("2019-07-08T10:12:35.125Z"),
 "result" : "Pass"
}

/* 2 */
{
 "_id" : ObjectId("5d24c09e51a456efbc23166a"),
 "time" : ISODate("2019-07-08T10:12:36.125Z"),
 "result" : "Pass"
}

...
...

/* 10 */
{
 "_id" : ObjectId("5d24c0d851a456efbc231672"),
 "time" : ISODate("2019-07-06T10:10:52.125Z"),
 "result" : "Pass"
}

/* 11 */
{
 "_id" : ObjectId("5d24c0e751a456efbc231673"),
 "time" : ISODate("2019-07-06T10:10:52.125Z"),
 "result" : "Fail"
}

我的預(yù)期結(jié)果是

{'_id': '2019-07-06', 'Pass': 1}
{'_id': '2019-07-06', 'Fail': 2}
{'_id': '2019-07-07', 'Pass': 2}
{'_id': '2019-07-07', 'Fail': 1}
{'_id': '2019-07-08', 'Pass': 2}
{'_id': '2019-07-08', 'Fail': 3}

如果按照以前的聚合方式,通過$time來分組,由于每個(gè)時(shí)間都不相同,所以這樣的聚合就相當(dāng)于沒有聚合

#coding:utf-8

from pymongo import MongoClient

client = MongoClient(host=['%s:%s'%("127.0.0.1",27017)])
G_mongo = client['test']

pipeline = [
  {'$group': {'_id': '$time', 'count': {'$sum': 1}}},
 ]
for i in G_mongo['test'].aggregate(pipeline):
 print(i)

得到的結(jié)果

{'_id': datetime.datetime(2019, 7, 6, 10, 10, 32, 125000), 'count': 1}
{'_id': datetime.datetime(2019, 7, 7, 10, 10, 32, 125000), 'count': 1}
{'_id': datetime.datetime(2019, 7, 8, 10, 11, 22, 125000), 'count': 1}
{'_id': datetime.datetime(2019, 7, 6, 10, 10, 52, 125000), 'count': 1}
{'_id': datetime.datetime(2019, 7, 8, 10, 11, 32, 125000), 'count': 1}
{'_id': datetime.datetime(2019, 7, 8, 10, 12, 32, 125000), 'count': 1}
{'_id': datetime.datetime(2019, 7, 7, 10, 11, 22, 125000), 'count': 1}
{'_id': datetime.datetime(2019, 7, 8, 10, 12, 36, 125000), 'count': 1}
{'_id': datetime.datetime(2019, 7, 8, 10, 12, 35, 125000), 'count': 1}
{'_id': datetime.datetime(2019, 7, 7, 10, 10, 22, 125000), 'count': 1}

可以看到,由于$time上的時(shí)間,誰和誰都不一樣,所以如果以$time為分組對象的話每個(gè)統(tǒng)計(jì)都是1。

問題的解決

在分組的時(shí)候有一個(gè)$dateToString指令,可以將日期格式的值轉(zhuǎn)化為字符串,比如這里因?yàn)樾枨笫且蕴鞛閱挝唬晕覍⑵滢D(zhuǎn)為
%Y-%m-%d的字符串格式,具體的$grouop如下

{'$group': {'_id': {"$dateToString":{'format':'%Y-%m-%d','date':'$time'}}, 'count': {'$sum': 1}}}

$dateToString的說明文檔可以訪問https://docs.mongodb.com/manual/reference/operator/aggregation/dateToString/ 查看,簡單介紹一個(gè)

{ $dateToString: {
  date: dateExpression>,
  format: formatString>,
  timezone: tzExpression>,
  onNull: expression>
} }

它需要四個(gè)參數(shù),只有date參數(shù)是必須的,指定數(shù)據(jù)來源,format是轉(zhuǎn)化的格式,timezone為時(shí)區(qū),onNull是如果日期值不存在時(shí)返回的值。

#coding:utf-8

from pymongo import MongoClient

client = MongoClient(host=['%s:%s'%("127.0.0.1",27017)])
G_mongo = client['test']


pipeline = [
    # {'$group': {'_id': '$time', 'count': {'$sum': 1}}},
    {'$group': {'_id': {"$dateToString":{'format':'%Y-%m-%d','date':'$time'}}, 'count': {'$sum': 1}}}
  ]
for i in G_mongo['test'].aggregate(pipeline):
  print(i)

上面代碼執(zhí)行的結(jié)果如下

{'_id': '2019-07-06', 'count': 2}
{'_id': '2019-07-07', 'count': 3}
{'_id': '2019-07-08', 'count': 5}

這個(gè)看起來還不錯(cuò),但是離我的目標(biāo)還差一點(diǎn),因?yàn)樗€沒有按照用例執(zhí)行結(jié)果進(jìn)行分組,再以天進(jìn)行倒序排列

#coding:utf-8

from pymongo import MongoClient

client = MongoClient(host=['%s:%s'%("127.0.0.1",27017)])
G_mongo = client['test']


pipeline = [
    # {'$group': {'_id': '$time', 'count': {'$sum': 1}}},
    {'$group': {'_id': {'date':{"$dateToString":{'format':'%Y-%m-%d','date':'$time'}},'result':'$result'}, 'count': {'$sum': 1}}},
    {'$sort':{"_id.date":-1}}
  ]
for i in G_mongo['test'].aggregate(pipeline):
  print(i)

得到的結(jié)果如下

{'_id': {'date': '2019-07-08', 'result': 'Fail'}, 'count': 3}
{'_id': {'date': '2019-07-08', 'result': 'Pass'}, 'count': 2}
{'_id': {'date': '2019-07-07', 'result': 'Pass'}, 'count': 2}
{'_id': {'date': '2019-07-07', 'result': 'Fail'}, 'count': 1}
{'_id': {'date': '2019-07-06', 'result': 'Fail'}, 'count': 1}
{'_id': {'date': '2019-07-06', 'result': 'Pass'}, 'count': 2}

查看文檔,除了使用$dateToString指令還可以使用$dayOfMonth指令

pipeline = [
    {'$group': {'_id': {'date':{"$dayOfMonth":{'date':'$time'}},'result':'$result'}, 'count': {'$sum': 1}}},
    {'$sort':{"_id.date":-1}},
  ]

但是這個(gè)指令只能適用于單一月份,如果兩個(gè)月就會有交集,如7月6號和6月6號的會聚合到一起
上面得到的結(jié)果是

{'_id': {'date': 8, 'result': 'Fail'}, 'count': 3}
{'_id': {'date': 8, 'result': 'Pass'}, 'count': 2}
{'_id': {'date': 7, 'result': 'Pass'}, 'count': 2}
{'_id': {'date': 7, 'result': 'Fail'}, 'count': 1}
{'_id': {'date': 6, 'result': 'Pass'}, 'count': 2}
{'_id': {'date': 6, 'result': 'Fail'}, 'count': 1}

所以需要根據(jù)需求靈活的使用各種指令。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • JAVA mongodb 聚合幾種查詢方式詳解
  • MongoDB教程之聚合(count、distinct和group)
  • Mongodb聚合函數(shù)count、distinct、group如何實(shí)現(xiàn)數(shù)據(jù)聚合操作
  • MongoDB聚合功能淺析
  • MongoDB入門教程之聚合和游標(biāo)操作介紹
  • MongoDB聚合分組取第一條記錄的案例與實(shí)現(xiàn)方法
  • mongodb聚合_動力節(jié)點(diǎn)Java學(xué)院整理
  • mongoDB中聚合函數(shù)java處理示例詳解

標(biāo)簽:興安盟 廈門 玉林 雞西 泰安 遼陽 自貢 無錫

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mongodb中按天進(jìn)行聚合查詢的實(shí)例教程》,本文關(guān)鍵詞  mongodb,中按天,進(jìn)行,聚合,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mongodb中按天進(jìn)行聚合查詢的實(shí)例教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于mongodb中按天進(jìn)行聚合查詢的實(shí)例教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    伊人婷婷欧美激情| 欧美日本精品一区二区三区| 亚洲综合成人在线| av在线播放一区二区三区| 色综合久久久久综合体| 在线亚洲高清视频| 亚洲激情图片qvod| 久久国产精品第一页| 国产不卡视频在线观看| 国产欧美日本一区二区三区| 一区二区三区四区在线播放| 免费看日韩精品| 成人av在线一区二区| 91激情在线视频| 一区二区三区四区不卡在线 | 国产毛片精品视频| 26uuu精品一区二区| 樱桃视频在线观看一区| 狠狠狠色丁香婷婷综合久久五月| 精品av久久707| 3d动漫精品啪啪1区2区免费 | 亚洲精品自拍动漫在线| 欧洲日韩一区二区三区| 精品国产一区二区三区久久久蜜月| 色婷婷综合五月| 日韩精品午夜视频| 色狠狠av一区二区三区| 日本成人中文字幕| 欧美午夜精品理论片a级按摩| 国产视频一区二区在线| 一本色道久久综合狠狠躁的推荐 | 2020国产精品自拍| 亚洲成人福利片| 91麻豆免费在线观看| 日韩成人av影视| 欧美在线观看一二区| 国产精品不卡视频| 欧美一区二区三区电影| 午夜视频久久久久久| 91看片淫黄大片一级在线观看| 亚洲国产综合人成综合网站| 日本黄色一区二区| 91精品国产色综合久久| 91蜜桃在线观看| 中文字幕亚洲电影| 日韩色在线观看| 国产另类ts人妖一区二区| 精品国产第一区二区三区观看体验 | 国产精品你懂的在线欣赏| 麻豆精品久久久| 欧美变态口味重另类| 欧美三区在线观看| 日韩美女在线视频| 亚洲成人www| 中文字幕佐山爱一区二区免费| 欧美色综合天天久久综合精品| 亚洲精品视频在线观看免费| 欧美中文字幕亚洲一区二区va在线| 亚洲丝袜美腿综合| 欧美性视频一区二区三区| 99精品桃花视频在线观看| 亚洲男同性视频| 欧美日韩免费一区二区三区| 日本精品一区二区三区高清| 亚洲午夜久久久久久久久电影网| 欧美人与z0zoxxxx视频| 不卡在线视频中文字幕| 亚洲自拍偷拍综合| 日韩午夜电影在线观看| 日韩欧美综合在线| 成a人片亚洲日本久久| 一区二区三区 在线观看视频| 中文字幕一区二区三区精华液| 91搞黄在线观看| 精品一区二区在线看| 狠狠v欧美v日韩v亚洲ⅴ| 爽好久久久欧美精品| 精品嫩草影院久久| 不卡av在线网| 在线免费不卡电影| 国产一二三精品| 一区二区三区毛片| 日韩精品久久理论片| 国产精品短视频| 久久亚洲精品小早川怜子| 国产视频一区在线播放| 制服丝袜日韩国产| 成人网在线播放| 色视频欧美一区二区三区| 久久国产精品72免费观看| 亚洲欧美另类久久久精品| 视频一区中文字幕| 亚洲视频一区二区在线观看| 欧美日韩国产在线播放网站| 精品区一区二区| 欧美日本国产视频| 色婷婷av一区二区三区之一色屋| 精品视频在线视频| 99久久精品国产网站| 国产成人av自拍| 欧洲一区二区三区在线| www.成人在线| 国产伦精品一区二区三区免费迷| 99精品视频在线免费观看| 韩国av一区二区三区四区 | 一二三区精品视频| 一区二区三区不卡视频| 国产精品美女久久久久久久久| 国产.精品.日韩.另类.中文.在线.播放| 毛片一区二区三区| 蜜桃一区二区三区在线| 国产精品网友自拍| 蜜桃一区二区三区四区| 日av在线不卡| 91久久国产综合久久| 国产欧美一区二区精品秋霞影院| 精品国产区一区| 色av一区二区| 国产欧美日韩亚州综合| 国产偷v国产偷v亚洲高清| 国产91丝袜在线播放九色| 欧美一区二区三区免费观看视频| 欧美性生活一区| 国内外成人在线| 欧美精品乱人伦久久久久久| 欧美人妇做爰xxxⅹ性高电影| 老司机午夜精品| 欧美日本国产一区| 欧美一级久久久久久久大片| 91一区二区三区在线观看| 国产亚洲精品资源在线26u| 国产欧美日韩另类一区| 国产mv日韩mv欧美| 欧美mv日韩mv国产网站app| 制服丝袜亚洲播放| 久久亚洲私人国产精品va媚药| 蜜桃久久久久久久| 国产91精品一区二区麻豆网站 | 国产精品国产三级国产普通话三级 | 国产精品久久久一本精品| 中文字幕制服丝袜一区二区三区| 国产福利一区二区三区视频在线| 成人激情黄色小说| 欧美日韩黄视频| 免费观看30秒视频久久| 成人午夜大片免费观看| 91国偷自产一区二区开放时间| 亚洲一区二区三区四区不卡| 久久99精品国产91久久来源 | 91在线视频网址| 国产精品剧情在线亚洲| 亚洲成人动漫一区| 亚洲精品v日韩精品| 欧美日韩视频在线第一区| 国产清纯美女被跳蛋高潮一区二区久久w | 精品亚洲porn| 成人午夜免费视频| 91精品中文字幕一区二区三区 | 亚洲男人电影天堂| 理论片日本一区| 91蜜桃传媒精品久久久一区二区| 色综合中文字幕国产 | 狠狠色丁香久久婷婷综| 成a人片国产精品| 欧美日韩高清影院| 美女网站色91| 欧美日韩一级二级三级| 欧美激情在线看| 色综合久久久久综合99| 久久久久久久久99精品| 性久久久久久久久| 亚洲蜜臀av乱码久久精品蜜桃| 欧美男人的天堂一二区| 国产精品乱人伦一区二区| 久88久久88久久久| 一区二区三区在线播| 成人av动漫网站| 久久尤物电影视频在线观看| 一本到高清视频免费精品| 国产精品网友自拍| 国产成人a级片| 日韩国产欧美三级| 欧美亚洲综合另类| 中文字幕一区二区三区不卡 | 亚洲欧美国产毛片在线| 成人午夜免费av| 蜜桃av噜噜一区二区三区小说| 91精品婷婷国产综合久久竹菊| 亚洲黄色免费电影| 激情久久五月天| 久久久www成人免费无遮挡大片| 蜜桃精品在线观看| 国产91在线|亚洲| 精品一区二区三区免费毛片爱| 日韩一区二区三区四区| 久久婷婷色综合| 制服丝袜一区二区三区| 蜜臀av一区二区| 欧美日韩免费观看一区三区| 97精品国产97久久久久久久久久久久|