group by hour in mongodb按小时聚集

Reading time ~1 minute

mongodb使用起来着实灰常蛋疼, 难怪都喜欢使用Hive、Shark。而且语法也各种怪异。

如下实现在st表中将基于timestamp(存的是s而不是ms)的列按小时聚集count:

db.st.aggregate(
   [{'$match':{'type': "weibo"}},
    {'$group': {
        '_id': {'$subtract': ['$timestamp', {'$mod':'$timestamp', 3600]}]},
        'y': {'$sum': 1}}},
    {'$project': {'x': '$_id', 'y': '$y', '_id': 0}},
    {'$sort': {'x': 1}}])

等价于如下sql 伪代码

select (timestamp-timestamp%3600) as x,count(*) as y from st
where type='weibo'
group by x 
order by x asc

作作Technical笔记,以备后用。发现自己作的Technical笔记太少,倒了不少车轮子! 做笔记一则加深自己理解,一则前车以鉴来者。

Original post: http://blog.josephjctang.com/2013-11/mongodb-notes/

个人近期时间日志分析

年初总结的时候发现去年相对于往年,读书量是越发的少了。惭悔懊恼之余,不禁分析起自身的因素来。自然是个人时间没有更好地利用起来。自己之前每周都有总结分析,但疏于文字整理,需要改正的方面也就缺乏跟进了。后续也需要渐渐地把行文这个习惯捡起来。结合 RescueTime 记录和 iOS 的 Scree...… Continue reading

问问题的妙用

Published on May 27, 2018

时间管理中的断舍离

Published on May 20, 2018