使用$ near,$ lte和$ gt

时间:2016-08-18 17:21:51

标签: mongodb performance nosql

我正在尝试对事件集合运行以下查询以查找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的索引。

非常感谢任何帮助!

0 个答案:

没有答案