我正在尝试对事件集合运行以下查询以查找a)附近某个位置的事件,并且b)正在某个时间发生:
db.events.find({
"location.geocode.geometry.location": {
"$near": [-79.5181416,43.7181557]
},
"eventDates.start": {
"$lte": ISODate("2015-12-19T00:00:00.000Z")
},
"eventDates.end": {
"$gt": ISODate("2015-12-19T00:00:00.000Z")
}
});
不幸的是,此查询需要300000毫秒。不使用eventDates.end规则运行相同的查询大约需要300毫秒。
根据$ near的要求,我有一个2d索引。我还有eventDates.start和eventDates.end的索引。
非常感谢任何帮助!