如何构建高效的 GeoLocation 和 Time 查询

How to structure an efficient GeoLocation and Time query

嘿反思者!

我有一个查询优化问题,我不太明白。它处理地理位置和时间。我有很多事件,它们都有 startTimeendTime(索引)和 location(索引)。如果我想获取某个位置附近正在发生但尚未发生的事件,我可以采用以下两种方式之一:

我只是不确定如何找到 fastest/most 有效的查询。

对我来说最好的选择似乎是过滤并获取所有尚未发生的事件,然后使用 getNearest() 来利用索引。但是我可以在过滤后的集合上调用最近的获取。请帮忙!?!?!

为了获取半径内的所有事件,我建议使用 getIntersecting()r.circle。 不仅比getNearest效率更高,而且对返回文档数没有任何限制

您可能需要将传入 r.circle 的半径稍大一些,以说明生成的多边形将略小于顶点之间的指定半径。