我在Mongo中有一个带有日期列的“帖子”集合,我们称之为“posted_on”,我想获得此列中存在的月/年组合列表。
如果这是一个SQL,我会做类似
的事情SELECT MONTH(posted_on), YEAR(posted_on), count(*)
FROM posts GROUP BY YEAR(posted_on), MONTH(posted_on)
这将为我提供多年和几个月的清单。
最好我想在mongoose中查询,但是我可以很容易地转换mongo查询。
答案 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}
});