查询mongodb以获取特定的日期范围

时间:2020-09-16 20:49:49

标签: mongodb mongoose

我一直在搜索并搜索它,对于我的一生,我无法使其正常工作……我知道我只是想念一些完全简单的东西,所以我希望这里的人可以挽救我的理智。

我正在尝试根据日期范围从mongodb集合(使用mongoose)中查找一系列文档。

我有此代码:

var startDate = new Date(req.query.startDate);
var stopDate = new Date(req.query.stopDate);

studentProgression.find({ $and: [ {'ACT_START': {$gte: startDate, $lte: stopDate} } ]})

但是它不返回任何文档。

MongoDb集合中的日期存储为字符串,并且看起来像这样(例如):

ACT_START:“ 20年5月25日” 一种 我知道我很可能在某个地方绊倒了,因为它是一个字符串,而不是mongo中的日期对象,因为我以前没有这个问题。我不想遍历集合并将所有字符串日期更改为实际的日期对象。

无论如何,有没有按照我布置的方式进行此查找?

1 个答案:

答案 0 :(得分:0)

不幸的是,您必须更改ACT_START字段的格式并将其转换为日期。

通过在字符串字段上执行$gte和/或$lte,mongo将根据字母顺序对两个字符串进行比较。