月份清单&日期列中存在的年份

时间:2012-06-26 23:23:16

标签: mongodb mongoose

我在Mongo中有一个带有日期列的“帖子”集合,我们称之为“posted_on”,我想获得此列中存在的月/年组合列表。

如果这是一个SQL,我会做类似

的事情
SELECT MONTH(posted_on), YEAR(posted_on), count(*) 
FROM posts GROUP BY YEAR(posted_on), MONTH(posted_on) 

这将为我提供多年和几个月的清单。

最好我想在mongoose中查询,但是我可以很容易地转换mongo查询。

1 个答案:

答案 0 :(得分:3)

通过使用Mongo Group功能,您可以执行相同的查询。示例如下。

db.posts.group(
{
    keyf: function(doc) {
        return {
            month : doc.posted_on.getMonth(), 
            year : doc.posted_on.getFullYear()
        };
    },
    reduce: function(obj,prev) {
        prev.count++
    },
    initial: {count:0}
});