从MongoDB数据库中搜索特定日期并在jade文件中显示

时间:2015-06-05 19:36:04

标签: node.js mongodb

我从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

1 个答案:

答案 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 
    });
});