摘要:的聚合查詢語(yǔ)法一直讓我難以很好的入門,如果不是因?yàn)轫?xiàng)目需要,我很少會(huì)用到它,但是用多了之后,會(huì)越來(lái)越喜歡它,尤其是接觸了一些聚合查詢方法后,我發(fā)現(xiàn)真的在業(yè)務(wù)中提高了不少效率。
MongoDB 的聚合查詢語(yǔ)法一直讓我難以很好的入門,如果不是因?yàn)轫?xiàng)目需要,我很少會(huì)用到它,但是用多了之后,會(huì)越來(lái)越喜歡它,尤其是接觸了一些聚合查詢方法后,我發(fā)現(xiàn) MongoDB 真的在業(yè)務(wù)中提高了不少效率??傊?,MongoDB 真香~~~
下面是我的一些平時(shí)使用聚合查詢的記錄
data 集合數(shù)據(jù)格式
{ "_id" : ObjectId("5caef7f2c0cd2730919a038f"), "sn" : "1904010010000001", "dev_id" : 200, "dt" : ISODate("2036-02-07T14:29:00.000Z"), "data" : { "BT" : 20.0, "CSQ" : 23, "GPSLati" : 39.8679244, "GPSLongti" : 116.6568387, "Humidity" : 0.0, "Temprature" : 0.0, "Voltage" : 0.0 } }查詢所有 sn 下的最新一條數(shù)據(jù)
sn = ["1904010010000001", "1904010010000002", "1904010010000003"] pipeline = [ {"$match": {"sn": {"$in": sn}}}, {"$group": {"_id": "$sn", "data": {"$last": "$data"}, "dt": {"$last": "$dt"}}}, {"$sort": {"dt": 1}}] db.data.aggregate(pipeline)
返回結(jié)果(避免數(shù)據(jù)過(guò)長(zhǎng),僅顯示一個(gè)數(shù)據(jù))
[ { "_id": "1812010009000100", "data": { "Ap": 1009.7, "BT": 20.0, "CSQ": 24, "GPSLati": 39.8681678, "GPSLongti": 116.6591262, "Humidity": 31.400000000000002, "Temprature": 21.5, "Voltage": 0.98, "WindDir": 0, "WindSpeed": 0.0 }, "dt": datetime.datetime(2019, 4, 14, 17, 44) } ]查詢某個(gè) sn 10 小時(shí)內(nèi)每隔 10 分鐘統(tǒng)計(jì)的平均值
sn = "1904010010000001" pipeline = [ {"$project": {"date": {"$substr": ["$dt", 0, 15]}, "data": "$data"}}, {"$group": { "_id": "$date", "temprature": {"$avg": "$data.Temprature"}, "humidity": {"$avg": "$data.Humidity"}, "wind_speed": {"$avg": "$data.WindSpeed"}, "wind_dir": {"$avg": "$data.WindDir"} }}, {"$limit": 60}, {"$sort": {"_id": -1}} ] db.data.aggregate(pipeline)
返回結(jié)果(避免數(shù)據(jù)過(guò)長(zhǎng),僅顯示一個(gè)數(shù)據(jù))
[ { "_id": "2019-04-14T01:3", "temprature": 10.861538461538462, "humidity": 18.70769230769231, "wind_speed": 0.49230769230769234, "wind_dir": 167.6153846153846 } ]
原文地址: Python MongoDB 一些聚合查詢方法
我的博客: 時(shí)空路由器
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19499.html
摘要:的聚合查詢語(yǔ)法一直讓我難以很好的入門,如果不是因?yàn)轫?xiàng)目需要,我很少會(huì)用到它,但是用多了之后,會(huì)越來(lái)越喜歡它,尤其是接觸了一些聚合查詢方法后,我發(fā)現(xiàn)真的在業(yè)務(wù)中提高了不少效率。 MongoDB 的聚合查詢語(yǔ)法一直讓我難以很好的入門,如果不是因?yàn)轫?xiàng)目需要,我很少會(huì)用到它,但是用多了之后,會(huì)越來(lái)越喜歡它,尤其是接觸了一些聚合查詢方法后,我發(fā)現(xiàn) MongoDB 真的在業(yè)務(wù)中提高了不少效率??傊?..
摘要:推薦閱讀資源庫(kù)工具應(yīng)用程序精選列表中文版有哪些鮮為人知,但是很有意思的網(wǎng)站一份攻城獅筆記每天搜集上優(yōu)秀的項(xiàng)目一些有趣的民間故事超好用的谷歌瀏覽器油猴插件合集目錄資源文檔文章圖書會(huì)談教程更多庫(kù)工具管理數(shù)據(jù)部署桌面發(fā)展監(jiān)控應(yīng)用資源文檔介紹文檔教 推薦閱讀 MongoDB 資源、庫(kù)、工具、應(yīng)用程序精選列表中文版 有哪些鮮為人知,但是很有意思的網(wǎng)站? 一份攻城獅筆記 每天搜集 Github ...
摘要:舉個(gè)栗子你有一個(gè)箱子,里面有一個(gè)兒子級(jí)別和孫子級(jí)別的箱子共層現(xiàn)在你把孫子級(jí)別的箱子單獨(dú)拿出來(lái),把整個(gè)箱子替換掉就是這種思想。。。自己體會(huì)吧這種語(yǔ)法,好像列表的切片賦值。。官方建議我們用它的好處是把和由兩個(gè)函數(shù)調(diào)用變?yōu)閭€(gè)參數(shù)傳進(jìn)去了。 閱讀須知 由于是對(duì)比書寫: M: 代表 Mongo原生語(yǔ)法 P: 代表 PyMongo書寫方法 后面提到:同上 字眼: ...
摘要:是什么呀是一個(gè)和不太一樣的數(shù)據(jù)庫(kù)。懷疑是同時(shí)聯(lián)了四個(gè)集合的數(shù)據(jù)造成的。這本書的定位是和的應(yīng)用,所以有意弱化了數(shù)據(jù)庫(kù)的搭建維護(hù)和底層優(yōu)化。所以本書可能不適合數(shù)據(jù)庫(kù)工程師。 這篇文章沒有代碼,請(qǐng)放心閱讀。 程序員最寶貴的東西是生命,生命屬于程序員只有一次。一個(gè)程序員的一生應(yīng)該這樣度過(guò):當(dāng)她回首往事的時(shí)候,她不會(huì)因?yàn)榇罱ōh(huán)境浪費(fèi)時(shí)間而悔恨,也不會(huì)因?yàn)榧簾o(wú)法運(yùn)行而羞恥。這樣,在她開發(fā)的時(shí)候,...
閱讀 1333·2021-11-24 09:38
閱讀 3270·2021-11-22 12:03
閱讀 4213·2021-11-11 10:59
閱讀 2339·2021-09-28 09:36
閱讀 1048·2021-09-09 09:32
閱讀 3445·2021-08-05 10:00
閱讀 2543·2021-07-23 15:30
閱讀 2987·2019-08-30 13:12