[英]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.