我从history.jade请求日期,月份和年份,并使用流动命令在数据库中搜索日期,月份和年份,并在info.jade中显示匹配的结果。
app.get('/info/chats',function(req, res){
var date = new Date(req.query.year, req.query.month, req.query.date);
chat.find({created : {$eq: date}}, function(err, docs){
if(err) console.log(err);
console.log("datefind");
res.render('info',{users:docs});//Sending data to info page
});
});
问题是它没有搜索匹配的日期。 就像var date = new Date(2015,06,05); 那么应该搜索这个日期格式:2015-06-05T16:16:02.927Z
答案 0 :(得分:0)
您应该为查询使用日期范围;创建日期键应落入的开始和结束日期对象。因此,在您的示例中,要搜索值为2015-06-05T16:16:02.927Z
的数据库上的日期,开始日期应为2015-06-05T00:00:00.000Z
,结尾应为2015-06-06T00:00:00.000Z
:
app.get('/info/chats',function(req, res){
var start = new Date(req.query.year, req.query.month-1, req.query.date),
end = new Date(req.query.year, req.query.month, req.query.date+1);
chat.find({created : {$gte: start, $lt: end}}, function(err, docs){
if(err) console.log(err);
console.log("datefind");
res.render('info', {users: docs}); //Sending data to info page
});
});