我一直在搜索并搜索它,对于我的一生,我无法使其正常工作……我知道我只是想念一些完全简单的东西,所以我希望这里的人可以挽救我的理智。
我正在尝试根据日期范围从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中的日期对象,因为我以前没有这个问题。我不想遍历集合并将所有字符串日期更改为实际的日期对象。
无论如何,有没有按照我布置的方式进行此查找?
答案 0 :(得分:0)
不幸的是,您必须更改ACT_START
字段的格式并将其转换为日期。
通过在字符串字段上执行$gte
和/或$lte
,mongo将根据字母顺序对两个字符串进行比较。