繁体   English   中英

Mongoose 查询日期范围

[英]Mongoose query date range

我像这样将日期存储在我的 mongo DB 数据库中

date: new Date()

这是模型上的字段

date: {type: Date, required: true},

它存储成功,在 DB 2020-09-14T15:28:19.462+00:00看起来像这样

然后我想像这样查询两个日期之间的文档

router.put('/filter',  (req, res, next) =>{
      //console.log(req.body.dateOne.year)
      //console.log(req.body.dateTwo.year)
      var d = new Date(2020, 09, 1);

      var endd = new Date(2020, 09, 30);

        History.find({"date":  {$gte: d, $lte: endd}}).then(documents =>{
        
        if (documents.length >= 1){

        res.status(200).json({
            message: "Got History",
            posts: documents
        });
        } else{
            res.status(404).json({
                message: "Nothing matches",
             
            });
        }

        });
  
  });

它总是不返回任何文件,我查看了类似的堆栈溢出问题,其他人提到这是因为日期存储时间,所以尝试将时间添加到日期也像这样

var d = new Date(2020, 09, 1, 01, 00, 00, 00);

但仍然没有运气。

有没有办法只用javascript日期对象来做到这一点? 还是我需要使用类似https://date-fns.org/ 的东西?

另外,如果我将开始日期更改为 2019 年而不是 2020 年,它会找到文档吗? 不知道为什么?

尝试:

var d = new Date(2020, 8, 1);
var endd = new Date(2020, 8, 30);

Date()月份参数从 0 而非 1 开始计数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM