摘要:的聚合查詢語法一直讓我難以很好的入門,如果不是因為項目需要,我很少會用到它,但是用多了之后,會越來越喜歡它,尤其是接觸了一些聚合查詢方法后,我發現真的在業務中提高了不少效率。
MongoDB 的聚合查詢語法一直讓我難以很好的入門,如果不是因為項目需要,我很少會用到它,但是用多了之后,會越來越喜歡它,尤其是接觸了一些聚合查詢方法后,我發現 MongoDB 真的在業務中提高了不少效率。總之,MongoDB 真香~~~
下面是我的一些平時使用聚合查詢的記錄
data 集合數據格式
{ "_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 下的最新一條數據
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)
返回結果(避免數據過長,僅顯示一個數據)
[ { "_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) } ]查詢某個 sn 10 小時內每隔 10 分鐘統計的平均值
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)
返回結果(避免數據過長,僅顯示一個數據)
[ { "_id": "2019-04-14T01:3", "temprature": 10.861538461538462, "humidity": 18.70769230769231, "wind_speed": 0.49230769230769234, "wind_dir": 167.6153846153846 } ]
原文地址: Python MongoDB 一些聚合查詢方法
我的博客: 時空路由器
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19499.html
摘要:的聚合查詢語法一直讓我難以很好的入門,如果不是因為項目需要,我很少會用到它,但是用多了之后,會越來越喜歡它,尤其是接觸了一些聚合查詢方法后,我發現真的在業務中提高了不少效率。 MongoDB 的聚合查詢語法一直讓我難以很好的入門,如果不是因為項目需要,我很少會用到它,但是用多了之后,會越來越喜歡它,尤其是接觸了一些聚合查詢方法后,我發現 MongoDB 真的在業務中提高了不少效率。總之...
摘要:推薦閱讀資源庫工具應用程序精選列表中文版有哪些鮮為人知,但是很有意思的網站一份攻城獅筆記每天搜集上優秀的項目一些有趣的民間故事超好用的谷歌瀏覽器油猴插件合集目錄資源文檔文章圖書會談教程更多庫工具管理數據部署桌面發展監控應用資源文檔介紹文檔教 推薦閱讀 MongoDB 資源、庫、工具、應用程序精選列表中文版 有哪些鮮為人知,但是很有意思的網站? 一份攻城獅筆記 每天搜集 Github ...
摘要:舉個栗子你有一個箱子,里面有一個兒子級別和孫子級別的箱子共層現在你把孫子級別的箱子單獨拿出來,把整個箱子替換掉就是這種思想。。。自己體會吧這種語法,好像列表的切片賦值。。官方建議我們用它的好處是把和由兩個函數調用變為個參數傳進去了。 閱讀須知 由于是對比書寫: M: 代表 Mongo原生語法 P: 代表 PyMongo書寫方法 后面提到:同上 字眼: ...
摘要:是什么呀是一個和不太一樣的數據庫。懷疑是同時聯了四個集合的數據造成的。這本書的定位是和的應用,所以有意弱化了數據庫的搭建維護和底層優化。所以本書可能不適合數據庫工程師。 這篇文章沒有代碼,請放心閱讀。 程序員最寶貴的東西是生命,生命屬于程序員只有一次。一個程序員的一生應該這樣度過:當她回首往事的時候,她不會因為搭建環境浪費時間而悔恨,也不會因為集群無法運行而羞恥。這樣,在她開發的時候,...
閱讀 1319·2021-11-24 09:38
閱讀 3256·2021-11-22 12:03
閱讀 4159·2021-11-11 10:59
閱讀 2317·2021-09-28 09:36
閱讀 1032·2021-09-09 09:32
閱讀 3412·2021-08-05 10:00
閱讀 2528·2021-07-23 15:30
閱讀 2973·2019-08-30 13:12