看起来MongoDB为地理空间查询提供了两个类似的功能-$near$geoNear。据蒙古人记载
geonear命令提供了$near运算符的替代选项。在
除了$near的功能外,geonear还返回其他
诊断信息。
似乎geoNear提供了near功能的超集。例如,near似乎只返回最近的100个文档,而geoNear允许您指定最大值。是否有理由使用near而不是geoNear?一个比另一个效率高吗?

最佳答案

两者的效率应该相同。
geoNear的主要限制是,作为命令,它可以返回设置为最大文档大小的结果,因为所有匹配的文档都在单个结果文档中返回。它还要求在每个结果文档中添加一个距离字段,根据您的使用情况,这可能是问题,也可能不是问题。
$near是一个查询运算符,因此结果可以大于单个文档(它们仍然在单个响应中返回,但不是单个文档)。还可以通过查询的limit()设置最大文档数。
我倾向于建议用户坚持使用$near除非他们需要diagnostics命令的geonear(例如,距离或位置匹配)。

关于mongodb - mongodb geoNear vs附近,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15537611/

10-10 06:47