Mongoose$或带有$和条件的查询条件

Mongoose$或带有$和条件的查询条件,mongoose,Mongoose,我正试图让这个简单的查询在Mongoose上运行,但运气不佳:查找明天在会议中心发生的所有事件。对于每个事件,计划可以是作为日期类型的特定开始时间,也可以是字符串格式“2012/11/16”的日期数组。但是,当{place:'conference center'}没有条件时,相同的query.or条件也会起作用,所以我想我可能编写这个查询时出错了。我到目前为止运气不好,请提供建议/帮助?“明天”条件是添加到“地点”条件上的过滤器,因此我使用查询链接 谢谢 Event.find({plac

我正试图让这个简单的查询在Mongoose上运行,但运气不佳:查找明天在会议中心发生的所有事件。对于每个事件,计划可以是作为日期类型的特定开始时间,也可以是字符串格式“2012/11/16”的日期数组。但是,当{place:'conference center'}没有条件时,相同的query.or条件也会起作用,所以我想我可能编写这个查询时出错了。我到目前为止运气不好,请提供建议/帮助?“明天”条件是添加到“地点”条件上的过滤器,因此我使用查询链接

谢谢

    Event.find({place:'conference center'}).or([
      { 
        'schedule.beginAtUtc' : { $gte: startOfTomorrow },
        'schedule.beginAtUtc' : { $lt: endOfTomorrow }
      },

      {
        'schedule.dates' : '2012/11/17'
      }
    ]);

您必须将两个
'schedule.beginautc'
字段合并为一个,因为对象不能有两个同名字段

像这样:

Event.find({地点:'conference center')。或([
{ 
'schedule.beginautc':{$gte:startOfTomorrow,$lt:endOfTomorrow}
},
{
“时间表日期”:“2012/11/17”
}
]);

您必须将两个
'schedule.beginautc'
字段合并为一个,因为对象不能有两个同名字段

像这样:

Event.find({地点:'conference center')。或([
{ 
'schedule.beginautc':{$gte:startOfTomorrow,$lt:endOfTomorrow}
},
{
“时间表日期”:“2012/11/17”
}
]);