我有一个类似于下面的模式:
{
'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的情况下查询日期字段有什么想法吗?
发布于 2013-07-15 22:16:04
看起来实际的DB查询是正确返回的,问题出在使用的mongoose版本上。
https://stackoverflow.com/questions/17655614
复制相似问题