[Mongo]分组统计时间aggregate,group,distinct
开发中有些按日期记录的记录需要各种维度的统计,按天,按月,按年,按小时,。。分组统计,还有些需要对字段去重统计,在之前的 [Mongo] 按时间分组统计(group时间格式化) 中用group实现了按天的统计,不过使用new Date()方法会有些坑,今天看了下aggreg
开发中有些按日期记录的记录需要各种维度的统计,按天,按月,按年,按小时,。。分组统计,还有些需要对字段去重统计,在之前的 [Mongo] 按时间分组统计(group时间格式化) 中用group实现了按天的统计,不过使用new Date()方法会有些坑,今天看了下aggregate中,使用聚合来写个时间统计。tips: aggregate 挺复杂,弄明白了再做笔记,现在只是根据需求来查询。
数据结构还是:
/* 0 */ { "_id" : ObjectId("541fcc51c6c36038bc6b81cd"), "url" : "http://wifi21.com/", "addtime" : ISODate("2014-08-19T00:15:02Z") } /* 1 */ { "_id" : ObjectId("541fcc51c6c36038bc6b81ce"), "url" : "http://meiwen.me/src/index.html", "addtime" : ISODate("2014-08-19T00:15:07Z") } ...
db.msds_accessrecord.aggregate([ {$group: { _id: { "$month": "$addtime" }, pv: {$sum: 1}} }, {$sort: {"_id": 1}} ]);
统计结果
/* 0 */ { "result" : [ { "_id" : 8, "pv" : 583 }, { "_id" : 9, "pv" : 1399 } ], "ok" : 1 }
按月统计url值,重复url去掉,这里只是做个演示,可能统计没什么意义 (相当于group+distinct)
db.msds_accessrecord.aggregate([ {$group: { _id: { "month": {"$month": "$addtime"}, "url": "$url" } }}, {$group: {_id:"$_id.month", uv: {$sum: 1}}}, {$sort: {"_id":1}} ]);
统计结果
/* 0 */ { "result" : [ { "_id" : 8, "uv" : 41 }, { "_id" : 9, "uv" : 134 } ], "ok" : 1 }
引用:
聚合使用方法: http://docs.mongodb.org/manual/reference/method/db.collection.aggregate/#db.collection.aggregate
日期聚合函数: http://docs.mongodb.org/manual/reference/operator/aggregation-date/
本文出自 “orangleliu笔记本” 博客,请务必保留此出处http://blog.csdn.net/orangleliu/article/details/39932081

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在抖音平台上,許多用戶都渴望獲得等級認證,其中10級燈牌更是展示用戶在抖音上的影響力和認可度。本文將深入探討抖音10級燈牌的價格以及達到此等級所需的時間,以幫助使用者更了解此過程。一、抖音10級燈牌多少錢?抖音10級燈牌的價格會受市場波動和供需情況的影響而有所差異,一般價格在幾千元到萬元之間。這個價格主要包括燈牌本身的成本和可能的服務費用。用戶可透過抖音官方管道或第三方服務機構購買10級燈牌,但在購買時要留意選擇合法管道,以免遭遇虛假或詐欺交易。二、10級粉絲燈牌要幾天?達到10級燈牌

玩家在艾爾登法環中進行遊戲時可以體驗遊戲主線劇情,以及收集遊戲成就,有很多玩家不知道艾爾登法環通關需要多久,玩家的通關流程在30個小時。艾爾登法環通關需要多久答:30小時。 1、這個30小時的通關時長指的雖然不是高手般的速通,但也省略了許多的流程。 2.如果你想獲得更好的遊戲體驗或是體驗完整的劇情,那麼時長上肯定要花費更多的時間。 3.如果玩家是全收集大約要100-120小時。 4.如果是只走主線刷BOSS大約:50-60小時。 5.如果是想全部體驗:150小時打底。

小紅書,一個充滿生活氣息與知識分享的平台,讓越來越多的創作者在這裡暢所欲言。要想在小紅書上獲得更多的關注和點贊,除了內容品質之外,發布作品的時間也是至關重要的。那麼,如何設定小紅書發布作品的時間呢?一、小紅書發布作品時間怎麼設定? 1.了解用戶活躍時間首先,需要先明確小紅書用戶的活躍時間。通常來說,晚上8點到10點以及週末下午是用戶活躍度較高的時段。然而,這個時段也會受到受眾群體和地理等因素的影響而有所不同。因此,為了更能掌握用戶活躍時段,建議對不同族群的行為習慣進行更詳細的分析。透過了解用戶的活

如何在uniapp中實現資料統計和分析一、背景介紹資料統計和分析是行動應用開發過程中非常重要的一環,透過對使用者行為的統計和分析,開發者可以深入了解使用者的喜好和使用習慣,從而優化產品設計和使用者體驗。本文將介紹如何在uniapp中實現資料統計和分析的功能,並提供一些具體的程式碼範例。二、選擇合適的資料統計和分析工具在uniapp中實現資料統計和分析的第一步是選擇合

Vue統計圖表的線性、餅狀圖功能實現在資料分析和視覺化領域,統計圖表是一種非常常用的工具。 Vue作為一種流行的JavaScript框架,提供了方便的方法來實現各種功能,包括統計圖表的展示和互動。本文將介紹如何使用Vue來實現線性和餅狀圖功能,並提供相應的程式碼範例。線性圖功能實現線性圖是一種用於展示資料趨勢和變化的圖表類型。在Vue中,我們可以使用一些優秀的第

在Vue框架下,如何快速建立統計圖表系統在現代網頁應用中,統計圖表是必不可少的組成部分。 Vue.js作為一個流行的前端框架,提供了許多方便的工具和元件,能夠幫助我們快速建立統計圖表系統。本文將介紹如何利用Vue框架以及一些外掛程式來建立一個簡單的統計圖表系統。首先,我們需要準備一個Vue.js的開發環境,包括安裝Vue腳手架以及一些相關的插件。在命令列中執行以下命

如何使用SQL語句在MySQL中進行資料聚合和統計?在進行資料分析和統計時,資料聚合和統計是非常重要的步驟。 MySQL作為一個功能強大的關聯式資料庫管理系統,提供了豐富的聚合和統計函數,可以很方便地進行資料聚合和統計操作。本文將介紹使用SQL語句在MySQL中進行資料聚合和統計的方法,並提供具體的程式碼範例。一、使用COUNT函數進行計數COUNT函數是最常用

Linux檔案時間檢視技巧詳解在Linux系統中,檔案的時間資訊對於檔案管理和追蹤變更非常重要。 Linux系統透過三種主要時間屬性來記錄檔案的變更訊息,分別是存取時間(atime)、修改時間(mtime)和變更時間(ctime)。本文將詳細介紹如何查看和管理這些文件時間信息,並提供具體的程式碼範例。 1.查看文件時間資訊透過使用ls指令結合參數-l可以列出文
