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/

2016 記

2015 年做的和沒做的,也大體記錄在了[這裏]({% post_url 2016-01-01-annual-review-and-planning %})。匆匆一年已逝,幾多慨嘆,幾多欣喜。後面列列過去已經做的,以及相對的未來一年的TODO list。主要也是從工作上的個人提升,以及生活上的...… Continue reading

《神经网络》课程笔记

Published on November 06, 2016

搜索广告机制设计

Published on November 02, 2016