我正在尝试使用Mongo聚合框架按日期分组文档。我尝试了许多方法,但无法确定问题所在。我的查询如下:
// get current date and then get the date 8 months ago
var now = Date.now()
var lastMonth = 60*60*24*30*1000*8
lastMonth = now - lastMonth
var query = {
type: 'something',
deleted: {$ne: true},
created: {$gte: lastMonth}
}
var stickerNames = [];
db.Message.aggregate([{$match: query},
{$group:
{_id: {data: '$data',
month: {$month: '$created'},
year: {$year: '$created'}
},
count:{$sum: 1}
}
},
{$sort:
{count: 1}}],
function(err, stuff){
if(err){
return res.json({error: err.message})
}
else{
return res.json({data: stuff})
}
})
我尝试了许多不同的日期设置,并检查了其他 SO 帖子,但迄今为止都没有效果。如果我删除 created: {$gte: lastMonth} 条件,则会返回所有类型为“something”的文档。如果我保留它,则不返回任何文档。
创建字段是通过模型设置的。
created: {type: Date, default: Date.now}
lastMonth = new Date(now - lastMonth)
- Blakes Seven