2

我试图让这个简单的查询与 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'
      }
    ]);
4

1 回答 1

4

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

像这样:

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

  {
    'schedule.dates' : '2012/11/17'
  }
]);
于 2012-11-18T02:43:27.190 回答