【发布时间】:2018-12-03 16:36:45
【问题描述】:
我想在按降序传递自定义日期范围时按日期获取所有数据计数。这是我的代码
var start = new Date(req.body.from_date); // 2018-12-03
start.setHours(0,0,0,0);
var end = new Date(req.body.to_date); // 2018-12-03
end.setHours(23,59,59,999);
db.companies.aggregate([{
$match: {
$and : [
{startDate: {$gte:start} },
{endDate: {$lte:end} }
]
},
},
{
$group:{
_id:{ startDate:"$startDate",endDate:"$endDate",
day: { $dayOfMonth: "$entry_date" },
month: { $month: "$entry_date" },
year: { $year: "$entry_date" }
},
count: { $sum:1 },
date: { $first: "$entry_date" }
}
},
{
$sort:{ entry_date: -1 }
}
{
$project:{
date:{
$dateToString: { format: "%Y-%m-%d", date: "$date" }
},
count: 1,
_id: 0
}
}])
如果我没有通过 $match 条件,那么它将显示带有日期的数据计数,但是当我尝试通过并条件它不起作用时。有什么想法吗?
提前致谢
【问题讨论】:
-
我修好了.. 感谢支持
标签: node.js mongodb mongodb-query aggregate