我正试图让这个简单的查询与Mongoose一起工作,没有运气:明天在会议中心发现所有发生的事件。对于每个事件,计划可以是特定的开始时间作为日期类型,也可以是字符串格式为“2012/11/16”的日期数组。相同的query.or条件但是当{place:'conference center'}没有条件时,所以我认为我可能错误地编写了这个查询。到目前为止我没有运气,建议/帮助吗? “明天”条件是添加到“地点”条件的过滤器,因此我使用查询链接。
谢谢!
Event.find({place:'conference center'}).or([
{
'schedule.beginAtUtc' : { $gte: startOfTomorrow },
'schedule.beginAtUtc' : { $lt: endOfTomorrow }
},
{
'schedule.dates' : '2012/11/17'
}
]);
答案 0 :(得分:4)
您必须将两个'schedule.beginAtUtc'
字段合并为一个,因为对象不能有两个具有相同名称的字段。
像这样:
Event.find({place:'conference center'}).or([
{
'schedule.beginAtUtc' : { $gte: startOfTomorrow, $lt: endOfTomorrow }
},
{
'schedule.dates' : '2012/11/17'
}
]);