我有一个类似的架构:
{
'policy': [
{ 'date' : { type: Date } }
]
}
我试图根据一个范围根据第一个政策的日期找到这些。起初,当我这样的查询无声地失败时(即没有返回结果):
{
'$and' : [
{ 'policy.0.date' : { '$gt' : <lower-bound Date> } },
{ 'policy.0.date' : { '$lt' : <higher-bound Date> } }
]
}
我没有收到任何错误,我知道那里有记录,所以我把它减少到寻找所有超过某个日期的人:
{ 'policy.0.date' : { $gt : startDate } }
尝试之后,我收到了这个错误:
[Error: Can't use $gt with Array.]
我甚至试图在不基于第一个元素{ 'policy.date' : { $gt : startDate } }
的情况下进行查询,但也没有返回任何记录。
如何在不诉诸$where
的情况下查询日期字段的任何想法?
答案 0 :(得分:0)
看起来真正的DB查询正确返回,问题在于使用的mongoose版本。